DB2的问题,在线等答案,急~~
数据库中有些数据不对,想通过SQL改过来
例:本来存的时间是2005-1-1,现在想改为2005-01-01(就是要把月和日都换成2位的)
写的SQL如下:
UPDATE HUMAN.HUMAN_REWARDPUNISHMENT
SET REWARDPUNISHMENT_DATE = REPLACE(REWARDPUNISHMENT_DATE,'-4','-04')
WHERE MONTH(REWARDPUNISHMENT_DATE) = 4
报错如下:
------------------------------ 输入的命令 ------------------------------
UPDATE HUMAN.HUMAN_REWARDPUNISHMENT
SET REWARDPUNISHMENT_DATE = REPLACE(REWARDPUNISHMENT_DATE,'-4','-04')
WHERE MONTH(REWARDPUNISHMENT_DATE) = 4;
------------------------------------------------------------------------------
UPDATE HUMAN.HUMAN_REWARDPUNISHMENT SET REWARDPUNISHMENT_DATE = REPLACE(REWARDPUNISHMENT_DATE,'-4','-04') WHERE MONTH(REWARDPUNISHMENT_DATE) = 4
DB21034E 该命令被当作 SQL
语句来处理,因为它不是有效的“命令行处理器”命令。在 SQL 处理期间,它返回:
SQL0180N 日期时间值的字符串表示法的语法不正确。 SQLSTATE=22007
SQL0180N 日期时间值的字符串表示法的语法不正确。
解释:
日期、时间或时间戳记值的字符串表示法不符合指定的或隐含的数据类型语
法。
不能处理该语句。
用户响应:
确保日期、时间或时间戳记值的语法符合其数据类型语法。若不打算将该字
符串用作日期、时间或时间戳记值,则确保在使用该字符串时,它并未暗指
该数据类型。
联合系统用户:该问题可能是由数据源上的日期/时间表示法问题引起的。
若原因未知,则将拒绝请求的数据源中的问题隔离出来(请参阅
问题确定指南),并检查该数据源的日期/时间表示法限制。
sqlcode : -180
sqlstate : 22007
请指点!!!!!!!急求~谢谢各位了!:P |