SQL Server相当于MySQL的NOW()?
我是一个在SQL Server项目上工作的MySQL人,试图让datetime字段显示当前时间。 在MySQL中我会使用NOW(),但它不接受。
INSERT INTO timelog (datetime_filed) VALUES (NOW())
getdate()
或getutcdate()
。
getdate()
是直接等价的, 但你应该总是使用UTCdate时间
getutcdate()
无论您的应用程序是否在不同的时区运行 – 否则就会冒着在春季/秋季转换时搞砸date的风险
SYSDATETIME()
和SYSUTCDATETIME()
是DateTime2的等价物
GetDate()
和GetUTCDate()
它返回一个DateTime 。
DateTime2现在是在SQL Server 2008+中存储date和时间的首选方法。 请参阅下面的StackOverflow Post 。
你也可以使用CURRENT_TIMESTAMP
,如果你想更符合ANSI的话(尽pipe如果你是在数据库供应商之间移植代码的话,那将是你最担心的问题)。 它和GetDate()
完全一样(请看这个问题 )。
GetUTCDate()
没有ANSI等价物,但如果您的应用程序在多个时区中运行,则可能是您应该使用的方法。