【问题标题】:update time only in sql server仅在 sql server 中更新时间
【发布时间】:2014-12-18 06:05:07
【问题描述】:

我想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))

【问题讨论】:

    标签: sql-server vb.net datetime time


    【解决方案1】:

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

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

    Demo

    【讨论】:

    • 哦。行。所以我必须先崩溃。我认为还有一个 SQL 函数。不管怎样,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多