保存CURRENT_TIMESTAMP包括毫秒SQL SERVER

时间:2013-10-16 10:59:38

标签: sql-server timestamp dynamic-sql

我有一个商店程序。当这个sp执行时,我想在我的数据库中保存开始时间和结束时间。所以,我使用CURRENT_TIMESTAMP来获得毫秒的当前时间。但是,当我使用动态查询更新我的表时,如:

Set @query = 'Update Table1 set startTime='''+CURRENT_TIMESTAMP+''' where '+@Condition
EXEC(@query)

我收到此错误:从字符串转换日期和/或时间时转换失败。

所以,我将我的代码更改为:

Set @query = 'Update Table1 set startTime='''+CAST(CURRENT_TIMESTAMP as varchar(100))+''' where '+@Condition
EXEC(@query)

现在,它执行成功但结果不包含毫秒。如何保存结果包括毫秒?

1 个答案:

答案 0 :(得分:0)

在第一个查询中,您会收到错误,因为您尝试将字符串添加到日期中。

试试这个

 set @query = 'Update Table1 set startTime=CURRENT_TIMESTAMP where ' + @condition