2013-08-04 65 views
-1

我想这是一个简单的问题,但我需要帮助。GETDATE()不返回毫秒和分钟

declare @Date date 
SET @Date =GETDATE() 
print @date 

宣言给我的结果:2013-08-04

但我也需要几毫秒或几分钟。

我该如何做到这一点?

+5

好,提到取代GETDATE()SYSDATETIME()你*** * **定义了一个'DATE'类型的变量 - 这只是**日期** - ***没有时间***!使用'@Date DATETIME2(3)',你将会得到小时,分钟,秒和毫秒......所有的数据类型都在相关的[SQL Server联机丛书](http: //msdn.microsoft.com/en-us/library/ms187752.aspx)页面 - 使用它们!这就是他们在那里! –

回答

7

声明为datetime2而非date

declare @Date datetime2 
      --^^^^^^^^^ 
SET @Date = SYSDATETIME() 
print @date 

参考:Data Types (Transact-SQL)

更新:由@马丁·史密斯

+0

“日期”有什么问题 – sakir

+5

日期没有什么错误。但是所有类型为date的变量都可以存储为Date! –

+4

@ user2460637:这是*日期* ...不是日期和时间。请参阅http://technet.microsoft.com/en-us/library/bb630352.aspx –

相关问题