mysql - 创建新表时保持源数据格式

标签 mysql sql

当我们从不同的表中提取列来创建一个新表时,我们如何保留原始数据格式从平板电脑中的列?我有 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/

相关文章:

php - SQL 选择按描述排序

sql - 如何通过其他 3 个表的每种可能组合对表中的一组行进行分组?

php - AWS MySQL 是否缓存数据?拉拉维尔 5

php - codeigniter MVC 在 mysql 表中插入敏感数据

php - 如何使用 ajax 和 php 将 mysql 表移动到下一行和上一行?

sql - 如何在sql查询中获取子字符串

mysql - 避免从 excel 用户表单将空值更新到 mysql 的最佳方法是什么?

php - 特定 PC 上的 WAMP for php 中出现许多错误

sql - 如何在具有大量记录的表中优化分组依据

SQL Server : retrieving stored procedure errors and use them