programing

SQL Server에서 GETDATE()를 밀리초 단위로 인쇄하려면 어떻게 해야 합니까?

magicmemo 2023. 4. 11. 21:54
반응형

SQL Server에서 GETDATE()를 밀리초 단위로 인쇄하려면 어떻게 해야 합니까?

SQL Server 2008에서 GETDATE()를 인쇄하려면 밀리초의 시간이 필요합니다(이것은 디버깅을 위한 것입니다.sp의 실행 시간을 찾기 위한 것입니다).

이 차이점을 발견하다

  • SELECT GETDATE()2011-03-15 18:43:44.100을 반환합니다.
  • print GETDATE()2011년 3월 15일 6:44가 반환PM

SQL Server는 인쇄 기능에 자동으로 입력된다고 생각합니다.

날짜를 이렇게 인쇄해야 합니다.2011-03-15 18:43:44.100

도와주셔서 고마워요.

먼저, 아마도,SYSDATETIME()더 정확한 정보를 원하신다면요

데이터를 밀리초로 포맷하려면CONVERT(varchar, SYSDATETIME(), 121).

그 외의 포맷에 대해서는,및 의 MSDN 페이지를 참조해 주세요.

SELECT CONVERT( VARCHAR(24), GETDATE(), 113)

갱신하다

PRINT (CONVERT( VARCHAR(24), GETDATE(), 121))

SQL Server 버전이 FORMAT 기능을 지원하는 경우 다음과 같이 수행할 수 있습니다.

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

다음 2개는 동일합니다.

Print CAST(GETDATE() as Datetime2 (3) )
PRINT (CONVERT( VARCHAR(24), GETDATE(), 121))

여기에 이미지 설명 입력

갱신:

datetime보다 좋은 것은 datetime2(3)입니다.

여기에 이미지 설명 입력

declare @dt datetime2(3)=sysdatetime()
print @dt
Print CAST(sysdatetime() as Datetime2(3) )
print sysdatetime()

여기에 이미지 설명 입력

이것은 에 상당합니다.new Date().getTime()JavaScript의 경우:

시간을 초단위로 취득하려면 , 다음의 문장을 사용합니다.

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

팔로잉을 시도

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

yyy-mm-hhh hh:mi:ss.ss 형식의 함수를 만듭니다.

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

언급URL : https://stackoverflow.com/questions/5312205/how-to-print-getdate-in-sql-server-with-milliseconds-in-time

반응형