0

table1次のようなクエリを使用してtable2、libreofficeベースにデータをコピーしようとしています:

INSERT INTO "table1" ("column1", "column2", ...)
SELECT "column3", "column4", ...
FROM "table2";

column4VARCHARような値を持つです'5/5/2015'。私の問題は、それcolumn2DATEタイプであることです。column4では、登録するにはどうすれDATEばキャストできcolumn2ますか?

4

1 に答える 1

1

はい、CAST コマンドを使用する必要があります。

文字列「column4」を列のデータではなく日付に変換しているようです。このように引用符を括弧に置き換えてみてください...

INSERT INTO table1 ([column1], [column2], ...)
SELECT [column3], CAST([column4] AS DATE), ...
FROM table2;

または、このようにすべての区切り記号を削除します...

INSERT INTO table1 (column1, column2, ...)
SELECT column3, CAST(column4 AS DATE), ...
FROM table2;

列名にスペース/特殊文字が含まれているか、SQL キーワードが含まれている場合にのみ、列名を囲む必要があります

于 2015-05-15T20:42:43.607 に答える