【问题标题】:SQL Server: convert to today then add 8 hoursSQL Server:转换为今天,然后增加 8 小时
【发布时间】:2012-09-22 08:40:05
【问题描述】:

nextUpdate 可以是过去的任何日期时间值。我正在尝试将nextUpdate 字段更新为今天的日期,但保持时间不变,然后增加 8 小时。

我明白了

将字符串转换为日期时间时出错

T-SQLe:

UPDATE 
    business.dbo.db_schedule  
SET 
    nextUpdate = DATEADD(hh, 8, CONVERT(datetime, CONVERT(VARCHAR(8), GETDATE(), 111) + ' ' + CONVERT(VARCHAR(8), nextUpdate, 108), 111))  
WHERE
    sno = 8

datetime 我所在位置的格式是 111

【问题讨论】:

  • 日期时间是 SQL Server 没有任何格式 - 它只是一个 8 字节的数值......

标签: sql-server dateadd datepart string-to-datetime


【解决方案1】:
UPDATE business.dbo.db_schedule
SET nextUpdate= DATEADD(hh, 8,
                DATEADD(d, DATEDIFF(D,nextUpdate,Getdate()),
                          nextUpdate))
where sno=8

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    • 2021-08-27
    相关资源
    最近更新 更多