SQL Server相当于MySQL的NOW()?

时间:2008-12-21 22:06:34

标签: sql sql-server

我是一个研究SQL Server项目的MySQL人,试图获取一个datetime字段来显示当前时间。在MySQL中我会使用NOW(),但它不接受。

INSERT INTO timelog (datetime_filed) VALUES (NOW())

4 个答案:

答案 0 :(得分:188)

getdate()getutcdate()

答案 1 :(得分:70)

getdate() 

是直接等效的,但您应始终使用UTC日期时间

getutcdate()

您的应用程序是否跨时区运行 - 否则您将面临在春/秋季过渡期间搞砸日期数学的风险

答案 2 :(得分:28)

SYSDATETIME()SYSUTCDATETIME()

是<{p>的DateTime2等价物

GetDate()GetUTCDate()

返回DateTime

DateTime2现在是在SQL Server 2008+中存储日期和时间的首选方法。请参阅以下StackOverflow Post

答案 3 :(得分:21)

您还可以使用CURRENT_TIMESTAMP,如果您想要更符合ANSI标准(尽管如果您在数据库供应商之间移植代码,那么这将是您最不担心的事情)。它与封面下的GetDate()完全相同(有关详情,请参阅this question)。

GetUTCDate()没有ANSI等价物,但如果您的应用在多个时区内运行,则可能是您应该使用的那个...