sql - কিভাবে তারিখ সময় থেকে VarChar রূপান্তর




sql-server datetime (14)

- এটি আপনাকে '0yy-mm-dd' 00: 00: 00.000 'ফর্ম্যাটে 0 হিসাবে সময় দেয়।


SELECT CAST( CONVERT(VARCHAR, GETDATE(), 101) AS DATETIME) ; 

আমি SQL সার্ভার ২005-এ একটি প্রশ্নের উপর কাজ করছি যেখানে আমি তারিখ-সময় পরিবর্তনশীলের একটি মানটি yyyy-mm-dd বিন্যাসে (কোনও সময় অংশ ছাড়াই) একটি DateTime পরিবর্তনশীল রূপে রূপান্তর করতে varchar । আমি কেমন করে ঐটি করি?


SQL সার্ভার 2008+ এর জন্য আপনি একসাথে কনভার্ট এবং ফর্ম্যাট ব্যবহার করতে পারেন।

উদাহরণস্বরূপ, ইউরোপীয় শৈলী (যেমন জার্মানি) টাইমস্ট্যাম্পের জন্য:

CONVERT(VARCHAR, FORMAT(GETDATE(), 'dd.MM.yyyy HH:mm:ss', 'de-DE'))

আপনি অনেকগুলি ফরম্যাটে আপনার তারিখ রূপান্তর করতে পারেন, সিনট্যাক্স ব্যবহার করা সহজ:

CONVERT('TheTypeYouWant', 'TheDateToConvert', 'TheCodeForFormating' * )
CONVERT(NVARCHAR(10), DATE_OF_DAY, 103) => 15/09/2016
  • কোড একটি পূর্ণসংখ্যা, এখানে 3 শতাব্দী ছাড়া তৃতীয় ফর্ম্যাটিং, যদি আপনি শতাব্দিকে চান তবে কোডটিকে 103 এ পরিবর্তন করুন।

আপনার ক্ষেত্রে , আমি শুধু রূপান্তর করেছি এবং nvarchar (10) দ্বারা আকার সীমাবদ্ধ এই ভালো:

CONVERT(NVARCHAR(10), MY_DATE_TIME, 120) => 2016-09-15

আরও দেখুন: http://www.w3schools.com/sql/func_convert.asp

আরেকটি সমাধান (যদি আপনার তারিখ একটি ডেটটাইম হয়) একটি সহজ CAST :

CAST(MY_DATE_TIME as DATE) => 2016-09-15

আপনি কোন ডাটাবেসটি বলেন নি, তবে এখানে MySQL এ টাইমস্ট্যাম্প থেকে একটি তারিখ পেতে একটি সহজ উপায় (এবং ভার্চারের রূপান্তর স্বয়ংক্রিয়ভাবে হওয়া উচিত):

mysql> select date(now());
+-------------+
| date(now()) |
+-------------+
| 2008-09-16  | 
+-------------+
1 row in set (0.00 sec)

এই এসকিউএল চেষ্টা করুন:

select REPLACE(CONVERT(VARCHAR(24),GETDATE(),103),'/','_') + '_'+ 
       REPLACE(CONVERT(VARCHAR(24),GETDATE(),114),':','_')

এইভাবে আমি এটি করি: CONVERT(NVARCHAR(10), DATE1, 103) )


এসকিউএল সার্ভার ২01২ এর একটি নতুন ফাংশন আছে, FORMAT: http://msdn.microsoft.com/en-us/library/ee634924.aspx

এবং আপনি কাস্টম তারিখ সময় বিন্যাস স্ট্রিং ব্যবহার করতে পারেন: http://msdn.microsoft.com/en-us/library/ee634398.aspx

এই পৃষ্ঠাগুলি বোঝায় যে এটি SQL2008R2 এ উপলব্ধ রয়েছে, কিন্তু যদি এটির ক্ষেত্রে এটি পরীক্ষা করার জন্য আমার কাছে একদম কার্যকর না হয়।

উদাহরণ ব্যবহার (অস্ট্রেলিয়ান ডেটটাইম):

FORMAT(VALUE,'dd/MM/yyyy h:mm:ss tt')

ওপি ডটটাইম বিন্যাস উল্লেখ। আমার জন্য, সময় অংশ পথে পায়।
আমি মনে করি এটি ফরম্যাটিংয়ের আগে সময় অংশ (ডেটটাইম তারিখ কাস্ট করার মাধ্যমে) মুছে ফেলার জন্য একটু ক্লিনার।

convert( varchar(10), convert( date, @yourDate ) , 111 )

নিম্নলিখিত চেষ্টা করুন:

CONVERT(VARCHAR(10),GetDate(),102)

তারপর আপনাকে "।" প্রতিস্থাপন করতে হবে। সঙ্গে "-".

এখানে একটি সাইট যা http://www.mssqltips.com/tip.asp?tip=1145 সাহায্য করে


নিম্নলিখিত চেষ্টা করুন:

CONVERT(varchar(10), [MyDateTimecolumn], 20)

একটি পূর্ণ তারিখ সময় এবং তারিখ না শুধুমাত্র জন্য:

CONVERT(varchar(23), [MyDateTimecolumn], 121)

রূপান্তর শৈলী জন্য এই পৃষ্ঠা দেখুন:

http://msdn.microsoft.com/en-us/library/ms187928.aspx
অথবা
এসকিউএল সার্ভার কনভার্ট () ফাংশন


মাইক্রোসফ্ট এসকিউএল সার্ভারের সাথে:

--
-- Create test case
--
DECLARE @myDateTime DATETIME
SET @myDateTime = '2008-05-03'

--
-- Convert string
--
SELECT LEFT(CONVERT(VARCHAR, @myDateTime, 120), 10)

সবচেয়ে ছোট এবং সহজ উপায় হল:

DECLARE @now AS DATETIME = GETDATE()

SELECT CONVERT(VARCHAR, @now, 23)

CONVERT(VARCHAR, GETDATE(), 23)

DECLARE @DateTime DATETIME
SET @DateTime = '2018-11-23 10:03:23'
SELECT CONVERT(VARCHAR(100),@DateTime,121 )





sql-convert