表 KQ 字段 SJ 想替换时间22为20,用那个语句?  字段类型为时间。
UPDATE kq SET sj = REPLACE(sj, '22', '20')
不行,提示多少行被上次查询影响但是数据没有更改

解决方案 »

  1.   


    UPDATE kq SET sj = CASE WHEN HOUR(sj) = 22 THEN DATEADD(HOUR,-2,sj)
    ELSE sj END
      

  2.   

    select REPLACE('2012-02-01 22:20:220', '22', '20') result
    /*2012-02-01 20:20:200*/
    没有问题可以替换呀
      

  3.   

    update kq set sj=case when datepart(hh,sj)=22 then dateadd(hh,-2,sj) else sj end
      

  4.   


    提示HOUR 不是可以识别的函数
      

  5.   

    UPDATE kq SET sj = CASE WHEN DATEPART(HOUR,sj) = 22 THEN DATEADD(HOUR,-2,sj)
    ELSE sj END
      

  6.   

    你的语句改成这样应该可以UPDATE kq SET sj = REPLACE(CONVERT(VARCHAR(20),sj,120),'22','20')