仅在sql server中更新时间

时间:2014-12-18 06:05:08

标签: sql-server vb.net datetime time

我想 UPDATE 我的 DateTime 列,但只有时间可以更新。

例如,我有一个dateTime列值:2014-11-27 09:33:57.0002014-11-27 09:45:00.000

到目前为止,这是我的代码:

UPDATE MyTable 
SET MyDate = DATEADD(HOUR, 4, CAST(FLOOR(CAST(MyDate AS FLOAT)) AS DATETIME))

但是它上面的sql代码只有ADD HOURS ..我也想编辑分钟:(所以我试过这个但它没有给我带来好运)

UPDATE MyTable 
SET MyDate = DATEADD(HOUR, 9.45, CAST(FLOOR(CAST(MyDate AS FLOAT)) AS DATETIME))

1 个答案:

答案 0 :(得分:1)

您可以通过嵌套dateadd函数调用来更新日期/时间的各个部分,如下所示:

UPDATE MyTable 
SET MyDate = DATEADD(MINUTE,45,DATEADD(HOUR, 9, CAST(FLOOR(CAST(MyDate AS FLOAT)) AS DATETIME)))

Demo