更新日期字段上的年份



DB2 z/OS版本10

对于表中的DATE列,我想将DATE的YEAR部分更新为1900。例如,将1981-09-03更新为1900-09-03

我尝试使用以下内容:

 UPDATE SERDB.S16_WEB_USERS_T
       SET YEAR(S16_BIRTH_DT) = '1900'
     WHERE YEAR(S16_BIRTH_DT) > '0';

我收到以下错误:

非法符号"("。一些可能是合法的符号是:=。。SQLCODE=-104,SQLSTATE=42601,DRIVER=3.67.27 SQL代码:-104,SQL状态:42601

有人有什么建议吗?非常感谢。

AFAIK,在任何平台或DB2版本中,都不能使用YEAR()在日期字段中设置值。

要做一些数学

 UPDATE SERDB.S16_WEB_USERS_T
       SET S16_BIRTH_DT = S16_BIRTH_DT - (YEAR(S16_BIRTH_DT) - 1900) YEARS 
     WHERE YEAR(S16_BIRTH_DT) > '0';

但我质疑你为什么要这么做。尤其是CCD_ 6。

还要注意,如果出生日期是2月29日,则日期将更改为1900年2月28日。

相关内容

  • 没有找到相关文章

最新更新