在使用MySQL的STR_TO_DATE函数将字符串转换成Date类型的时候,会出现类似:Incorrect datetime value '2021-02' for function str_to_date的错误。下面来看看解决办法。
情景复现:
(1)创建表:
create table time_table(
`year` varchar(4),
`month` varchar(2),
`day` varchar(2)
);
(2)插入数据:
INSERT INTO time_table
(`year`, `month`, `day`)
VALUES('2021', '03', '02');
(3)查询数据:
select STR_TO_DATE(CONCAT(`year`,'-',`month`),'%Y-%m') from time_table;
执行语句不发生错误,但返回的结果为NULL:
(4)更新数据: