当我们从不同的表中提取列来创建一个新表时,我们如何保留原始数据格式从平板电脑中的列?我有 2 个表,想根据每个表的某些列创建一个新表:但是当我执行以下操作时(在 [] 中,table1 中一列(日期)的日期格式会自动修改(为 varchar)原始数据格式):
CREATE TABLE 3 AS
SELECT
y1.ItemID[int],
y1.order[int],
y1.name[varchar],
y1.date[date],
y2.product_id[int],
y2.name[varchar],
y2.Kategorie [number],
FROM Table1 y1
LEFT JOIN Table2 y2
ON y1.ItemID = y2.product_id;
怎么了?
最佳答案
你应该能够显式转换:
CREATE TABLE 3 AS
SELECT
y1.ItemID,
y1.order,
y1.name,
Cast(y1.date as date) date,
y2.product_id,
y2.name,
y2.Kategorie
FROM Table1 y1
LEFT JOIN Table2 y2
ON y1.ItemID = y2.product_id;
也可以在create上设置数据类型,如mysql在线手册示例所示:
CREATE TABLE foo (a TINYINT NOT NULL) SELECT b+1 AS a FROM bar;
关于mysql - 创建新表时保持源数据格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40017577/