mysql插入选择集

lnlaulya  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(270)

我试图将一个表复制到另一个表的列中,但是日期字段对于某些列无效(日期类似于'00000000'),因此我试图检查日期是否有效,如果有效,我试图将其设置为null。例子,

INSERT INTO table1 (ID, FirstName, LastName, @BD) SELECT * FROM table2
SET Birthday = IF(@BD = '00000000', NULL, CAST(@BD as DATE))

此格式适用于从csv文件加载数据时的加载,但会给出错误消息并指出语法错误。另外,table2列的顺序是id、firstname、lastname和birthday。提前谢谢!

2j4z5cfb

2j4z5cfb1#

你试过在选择期间转换吗

INSERT INTO table1 (ID, FirstName, LastName, Birthday) 
SELECT ID, FirstName, LastName,
  CASE BirthDay 
    WHEN '00000000' THEN NULL
    ELSE CAST(BirthDay as DATE) 
  END 
FROM table2

相关问题