我有一个字段,当插入内容时,我希望它获取当前日期&时间并将其插入到数据库中。有没有办法获得日期&时间,并将其设置为默认值?SQL Server的默认日期时间戳?
目前默认值是:(getdate())其中只设置日期。我该如何设定时间?
我有一个字段,当插入内容时,我希望它获取当前日期&时间并将其插入到数据库中。有没有办法获得日期&时间,并将其设置为默认值?SQL Server的默认日期时间戳?
目前默认值是:(getdate())其中只设置日期。我该如何设定时间?
GETDATE()
是SQL Server中的日期和时间。
运行SELECT GETDATE()
来验证这一点。
你的领域的数据类型是什么?如果它是DATE
那么它也不会保存时间值。
SYSDATETIME()
将获得当前日期和时间。
确保该列的数据类型为datetime
,而不仅仅是date
,否则它将无法保存日期时间。
大多数SQL实现(引擎)确实具有CURRENT_TIMESTAMP
函数。
一个简单的方法就是给字段的默认约束:
create table YourTable
(
... other columns ...
CreateDt datetime default getdate(),
... other columns ...
)
这种方法的缺点是,你可以通过在insert
子句指定它覆盖值。
我个人想用GETUTCDATE()代替GETDATE()来避免混淆。
我会建议要么。如果使用它,很难摆脱本地时间。 –
您需要指定您使用的SQL的实现... – JNK
@JNK:您是否也为此创建了一个宏? – VoodooChild
@voodoo还没有,但我很接近 – JNK