在DB2中的TIMESTAMP类型的A列中设置日期

时间:2017-01-27 16:17:37

标签: sql db2

我在DB2查询后运行:

UPDATE Table
SET DATE(COLA) = '2017-03-31'
WHERE DATE(COLA) = '2017-03-29'; 

COLA属于TIMESTAMP。

样本值:

COLA:
2017-03-29-00.00.00.000000

预期更新价值:

COLA:
2017-03-31-00.00.00.000000

当我在查询之上运行时,我正在

  

SQL代码SQLCODE = -104,ERROR:ILLEGAL SYMBOL"("。一些符号表示   可能是法律的:=。

有没有人可以帮我解决这个问题?

非常感谢!

2 个答案:

答案 0 :(得分:3)

我相信您的问题出在SET部分。试试这个:

UPDATE Table
SET COLA = DATE('2017-03-31') -- TIMESTAMP ('2017-03-31-00.00.00.000000') 
WHERE DATE(COLA) = '2017-03-29'; 

您想要更新列,而不是更新在列上执行的函数的结果。

答案 1 :(得分:0)

就这样做:

UPDATE Table
SET COLA = '2017-03-31-00.00.00.000000'
WHERE DATE(COLA) = '2017-03-29';