当我尝试运行此查询时,我收到上述错误。有人可以帮助我吗
UPDATE CCO.ORDER_CREATION
SET "Doc_Date" = 8/9/2013
WHERE "Document_Number" IN (3032310739,3032310740,3032310738)
答案 0 :(得分:7)
8/9/2013
是一个数值:8除以9除以2013。
您应该使用to_date()
函数将字符串转换为日期:
UPDATE CCO.ORDER_CREATION
SET "Doc_Date" = to_date('08/09/2013', 'dd/mm/yyyy')
WHERE "Document_Number" IN (3032310739,3032310740,3032310738);
您可能需要调整格式掩码,因为目前还不清楚您是指8月,9日还是9月8日
或者,您可以使用ANSI日期文字(对于ANSI SQL日期文字,格式始终为yyyy-mm-dd):
UPDATE CCO.ORDER_CREATION
SET "Doc_Date" = DATE '2013-09-08'
WHERE "Document_Number" IN (3032310739,3032310740,3032310738);
答案 1 :(得分:5)
试试这个
UPDATE CCO.ORDER_CREATION
SET "Doc_Date" = TO_DATE('8/9/2013', 'MM/DD/YYYY')
WHERE "Document_Number" IN (3032310739,3032310740,3032310738)
同时检查this
答案 2 :(得分:1)
目前,您将日期作为数字字符串传递,将其转换为日期,然后尝试按以下方式插入
UPDATE CCO.ORDER_CREATION
SET "Doc_Date" = TO_DATE('8/9/2013','MM/DD/YYYY')
WHERE "Document_Number" IN (3032310739,3032310740,3032310738)
答案 3 :(得分:0)
这就是我的看法:
UPDATE CCO.ORDER_CREATION tbl1
SET tbl.Doc_Date = TO_DATE('08/09/2013', 'MM/DD/YYYY')
WHERE tbl1.Document_Number IN (3032310739,3032310740,3032310738)