7

このクエリを実行しようとすると、上記のエラーが発生します。誰かがこれについて私を助けてくれますか

UPDATE CCO.ORDER_CREATION 
   SET "Doc_Date" = 8/9/2013 
 WHERE "Document_Number" IN (3032310739,3032310740,3032310738)
4

4 に答える 4

9

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);
于 2013-08-20T08:27:46.780 に答える
1

現在、日付を数値文字列として渡し、日付に変換してから、以下のように挿入しようとしています

UPDATE CCO.ORDER_CREATION 
SET "Doc_Date" = TO_DATE('8/9/2013','MM/DD/YYYY')
WHERE "Document_Number" IN (3032310739,3032310740,3032310738)
于 2013-08-20T08:31:39.987 に答える
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)
于 2014-10-30T19:18:51.353 に答える