,则只需要将列名括起来
我正试图将数据从table1
复制到table2
在libreoffice基地使用如下查询:
INSERT INTO "table1" ("column1", "column2", ...)
SELECT "column3", "column4", ...
FROM "table2";
column4
为VARCHAR
,其值与'5/5/2015'
相似。我的问题是,column2
是一个DATE
类型。那么我如何将column4
转换为DATE
以在column2
中注册呢?
你需要使用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关键字