我正在尝试将表复制到其他表的列中,但某些列的日期字段无效(日期类似于“ 00000000”),因此我尝试检查日期是否有效我正在尝试将其设置为NULL。 例子
INSERT INTO table1 (ID, FirstName, LastName, @BD) SELECT * FROM table2
SET Birthday = IF(@BD = '00000000', NULL, CAST(@BD as DATE))
当从CSV文件加载数据时,这种格式适用于LOAD,但给出错误并指出语法错误。另外,table2列的顺序为ID,FirstName,LastName和Birthday。预先感谢!
答案 0 :(得分:3)
您是否曾尝试在选择期间进行转换
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