我是一个研究SQL Server项目的MySQL人,试图获取一个datetime字段来显示当前时间。在MySQL中我会使用NOW(),但它不接受。
INSERT INTO timelog (datetime_filed) VALUES (NOW())
答案 0 :(得分:188)
getdate()
或getutcdate()
。
答案 1 :(得分:70)
getdate()
是直接等效的,但您应始终使用UTC日期时间
getutcdate()
您的应用程序是否跨时区运行 - 否则您将面临在春/秋季过渡期间搞砸日期数学的风险
答案 2 :(得分:28)
SYSDATETIME()
和SYSUTCDATETIME()
是<{p>的DateTime2等价物
返回DateTime。
DateTime2现在是在SQL Server 2008+中存储日期和时间的首选方法。请参阅以下StackOverflow Post。
答案 3 :(得分:21)
您还可以使用CURRENT_TIMESTAMP
,如果您想要更符合ANSI标准(尽管如果您在数据库供应商之间移植代码,那么这将是您最不担心的事情)。它与封面下的GetDate()
完全相同(有关详情,请参阅this question)。
GetUTCDate()
没有ANSI等价物,但如果您的应用在多个时区内运行,则可能是您应该使用的那个...