সময়মতো মিলিসেকেন্ড সহ এসকিউএল সার্ভারে GETDATE () কীভাবে মুদ্রণ করবেন?


96

আমি এসকিউএল সার্ভার ২০০৮-এ জিইটিডেইড () মুদ্রণ করতে চাই , আমার মিলি সেকেন্ডের সাথে সময় প্রয়োজন (এটি ডিবাগিং উদ্দেশ্যে - এসপির এক্সিকিউশন সময় অনুসন্ধান করার জন্য)

আমি এই পার্থক্য খুঁজে

  • SELECT GETDATE()আয় 2011-03-15 18: 43: 44,100
  • print GETDATE()ফিরে মার্চ 15 2011 6:44 অপরাহ্ন

আমি মনে করি এসকিউএল সার্ভার স্বয়ংক্রিয়ভাবে মুদ্রণ কার্যকারিতা টাইপকাস্ট।

আমার এই তারিখটি প্রিন্ট করা দরকার 2011-03-15 18:43:44.100

আপনার সাহায্যের জন্য ধন্যবাদ.

উত্তর:


114

প্রথমত, আপনি SYSDATETIME()যদি আরও নির্ভুলতার সন্ধান করছেন তবে আপনার সম্ভবত ব্যবহার করা উচিত ।

মিলিসেকেন্ডের সাহায্যে আপনার ডেটা ফর্ম্যাট করতে চেষ্টা করুন CONVERT(varchar, SYSDATETIME(), 121)

অন্যান্য ফরম্যাটের জন্য, চেক আউট উপর দুটিই MSDN পৃষ্ঠা CASTএবংCONVERT


4
ডেটটাইম 2 (7) হিসাবে CAST (GETDATE () প্রিন্ট করুন এটি খুব কার্যকর, আপনার উত্তরের জন্য ধন্যবাদ।
রামকৃষ্ণান

4
প্রিন্ট কাস্ট (SYSDATETIME () হিসাবে NVARCHAR (200)) একটি কবজ মত কাজ করে
গ্যাব্রিয়েল এস্পিনোজা


33

যদি আপনার এসকিউএল সার্ভার সংস্করণটি ফরমেট ফাংশনটি সমর্থন করে আপনি এটি এটি করতে পারেন:

select format(getdate(), 'yyyy-MM-dd HH:mm:ss.fff')


1

অনুসরণ করার চেষ্টা করুন

DECLARE @formatted_datetime char(23)
SET @formatted_datetime = CONVERT(char(23), GETDATE(), 121)
print @formatted_datetime

1

এটি new Date().getTime()জাভাস্ক্রিপ্টের সমান :

সেকেন্ডে সময় পেতে নীচের বিবৃতিটি ব্যবহার করুন।

SELECT  cast(DATEDIFF(s, '1970-01-01 00:00:00.000', '2016-12-09 16:22:17.897' ) as bigint)

মিলিসেকেন্ডে সময় পেতে নীচের বিবৃতিটি ব্যবহার করুন।

SELECT  cast(DATEDIFF(s, '1970-01-01 00:00:00.000', '2016-12-09 16:22:17.897' ) as bigint)  * 1000

1

Yyyy-mm-hh h: mi: ss.sss ফর্ম্যাট ফর্ম্যাট সহ একটি ফাংশন তৈরি করুন

create function fn_retornaFecha (@i_fecha datetime)
returns varchar(23)
as
begin
declare 
@w_fecha varchar(23),
@w_anio  varchar(4),
@w_mes   varchar(2),
@w_dia   varchar(2),
@w_hh    varchar(2),
@w_nn    varchar(2),
@w_ss    varchar(2),
@w_sss   varchar(3)

select @w_fecha = null

if ltrim(rtrim(@i_fecha)) is not null 
begin
   select
   @w_anio = replicate('0',4-char_length( convert(varchar(4), year(@i_fecha)) )) + convert(varchar(4), year(@i_fecha)),
   @w_mes  = replicate('0',2-char_length( convert(varchar(2),month(@i_fecha)) )) + convert(varchar(2),month(@i_fecha)),
   @w_dia  = replicate('0',2-char_length( convert(varchar(2),  day(@i_fecha)) )) + convert(varchar(2),  day(@i_fecha))  ,
   @w_hh   = replicate('0',2-char_length( convert(varchar(2),datepart( hh, @i_fecha ) ) )) + convert(varchar(2),datepart( hh, @i_fecha ) ),
   @w_nn   = replicate('0',2-char_length( convert(varchar(2),datepart( mi, @i_fecha ) ) )) + convert(varchar(2),datepart( mi, @i_fecha ) ),
   @w_ss   = replicate('0',2-char_length( convert(varchar(2),datepart( ss, @i_fecha ) ) )) + convert(varchar(2),datepart( ss, @i_fecha ) ),
   @w_sss  = convert(varchar(3),datepart( ms, @i_fecha ) ) + replicate('0',3-DATALENGTH( convert(varchar(3),datepart( ms, @i_fecha ) )  ))


   select @w_fecha = @w_anio + '-' + @w_mes + '-' + @w_dia + ' ' + @w_hh + ':' + @w_nn + ':' + @w_ss + '.' + @w_sss
end

return @w_fecha

end
go

উদাহরণ

select fn_retornaFecha(getdate())

এবং ফলাফল: 2016-12-21 10: 12: 50.123

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.