SQL Server是否等同于MySQL的NOW()?


196

我是从事SQL Server项目的MySQL专家,试图获取datetime字段以显示当前时间。在MySQL中,我会使用NOW(),但它不接受。

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

Answers:



74
getdate() 

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

getutcdate()

您的应用是否跨时区运行-否则,您会冒着在春季/秋季过渡时搞砸日期数学的风险



24

您也可以使用CURRENT_TIMESTAMP,如果你觉得更加符合ANSI(不过,如果你在移植数据库供应商之间的代码,这将是你最担心的)。它GetDate()与封面完全相同(有关更多信息,请参见此问题)。

GetUTCDate()但是,没有ANSI等效项,如果您的应用程序在多个时区中运行,则可能应该使用ANSI等效项。


5
我喜欢CURRENT_TIMESTAMP它,因为它可以在MySQL,SQL Server,Oracle中运行...正如您所说,这是我们最少的担心,但它总是有帮助的。
阿尔瓦罗·冈萨雷斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.