このクエリを実行しようとすると、上記のエラーが発生します。誰かがこれについて私を助けてくれますか
UPDATE CCO.ORDER_CREATION
SET "Doc_Date" = 8/9/2013
WHERE "Document_Number" IN (3032310739,3032310740,3032310738)
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);
現在、日付を数値文字列として渡し、日付に変換してから、以下のように挿入しようとしています
UPDATE CCO.ORDER_CREATION
SET "Doc_Date" = TO_DATE('8/9/2013','MM/DD/YYYY')
WHERE "Document_Number" IN (3032310739,3032310740,3032310738)
これは私がこれを見る方法です:
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)