插入到具有不同数据类型的select中

时间:2015-05-15 18:43:13

标签: sql libreoffice-base

我正在尝试使用以下查询将数据从table1复制到libreoffice基础中的table2

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

column4VARCHAR,其值类似于'5/5/2015'。我的问题是column2DATE类型。那么如何将column4转换为DATE才能在column2中注册?

1 个答案:

答案 0 :(得分: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关键字

,则只需将它们括起来