如何在毫秒的时间内在SQL Server中打印GETDATE()?

Ram*_*nan 85 sql sql-server datetime getdate sql-server-2008

我想SELECT GETDATE()在SQL Server 2008中打印,我需要毫秒的时间(这是为了调试目的 - 找到sp的执行时间)

我发现了这个差异

  • print GETDATE()返回2011-03-15 18:43:44.100
  • 2011-03-15 18:43:44.100返回2011年3月15日下午6:44

我认为SQL Server会自动对打印功能进行类型转换.

我需要打印这样的日期 SELECT GETDATE()

谢谢你的帮助.

Ada*_*son 103

首先,SYSDATETIME()如果您正在寻找更高的精度,您应该使用它.

要用毫秒来格式化数据,请尝试CONVERT(varchar, SYSDATETIME(), 121).

对于其他格式,请查看MSDN页面CASTCONVERT.

  • 打印CAST(GETDATE()as Datetime2(7))这太有用了,谢谢你的回答. (3认同)
  • PRINT CAST(SYSDATETIME()AS NVARCHAR(200))就像一个魅力 (2认同)

Kri*_*nov 52

SELECT CONVERT( VARCHAR(24), GETDATE(), 113)
Run Code Online (Sandbox Code Playgroud)

UPDATE

PRINT (CONVERT( VARCHAR(24), GETDATE(), 121))
Run Code Online (Sandbox Code Playgroud)


Ste*_*hev 23

如果您的SQL Server版本支持FORMAT函数,您可以这样做:

select format(getdate(), 'yyyy-MM-dd HH:mm:ss.fff')
Run Code Online (Sandbox Code Playgroud)


Mar*_*lli 11

这两个是相同的:

Print CAST(GETDATE() as Datetime2 (3) )
PRINT (CONVERT( VARCHAR(24), GETDATE(), 121))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述