如何返回T-SQL的GetDate()函数的毫秒数?

时间:2010-12-09 16:57:10

标签: sql-server tsql

我有这个问题:

UPDATE       Player
SET          move = GETDATE()

然后它返回:

09/12/2010 13:43:51

但我想要毫秒。我怎样才能做到这一点? 我的移动列类型是DateTime。 谢谢。

5 个答案:

答案 0 :(得分:1)

GETDATE()确实给出毫秒

如果move没有存储毫秒,那么:

  • 不是日期时间
  • 它是一个精度不正确的SQL Server 2008类型

编辑:如果列是datetime,那么客户端工具可能没有显示毫秒

查询窗格中的SELECT * FROM Player show是什么?您使用的是SSMS网格:它们使用的客户端设置将丢失毫秒

答案 1 :(得分:1)

如果它是DateTime,那么它将存储一个小数部分,但您需要格式化输出以显示它们。

答案 2 :(得分:1)

好吧,我不知道为什么,但解决方法就是这样:


SELECT        playerId, (SELECT        CONVERT(varchar(23), GETDATE(), 121) AS Expr1) AS Expr1
FROM            Player

答案 3 :(得分:0)

默认情况下,DateTime数据类型具有毫秒信息

declare @myDate datetime;
Select @myDate=getdate();
Select @myDate;

将输出

2010-12-09 21:03:28.243

需要检查的是您用于获取

输出的Select查询
09/12/2010 13:43:51

此外,您使用的是哪个版本的MS-SQL?

答案 4 :(得分:0)

编辑& Snip:只是一个预感,但如果您使用的是SQL 2000 Query Anaylyzer,则设置工具 - 选项 - 连接在显示数字,日期和时间时使用区域设置可能很有用