在mysql中将字符串转换为日期时出现问题

时间:2021-05-28 17:07:15

标签: mysql

我有以下记录表,

create table tblte
(
    dat varchar(50)
);

insert into tblte(dat) values('Sep 07 2018');
insert into tblte(dat) values('Sep 04 2018');
insert into tblte(dat) values('Sep 10 2018');

我测试了以下查询

SELECT STR_TO_DATE(`dat`, '%MM %D %Y') FROM tblte

我得到了以下结果。它们都显示为空。知道为什么会这样吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

最好将日期存储为日期,因为转换会花费时间并且您一直都需要这样做

<块引用>
create table tblte
(
    dat varchar(50)
);

insert into tblte(dat) values('Sep 07 2018');
insert into tblte(dat) values('Sep 04 2018');
insert into tblte(dat) values('Sep 10 2018');
<块引用>
SELECT STR_TO_DATE(`dat`, '%b %d %Y') FROM tblte
| STR_TO_DATE(`dat`, '%b %d %Y') |
| :----------------------------- |
| 2018-09-07                     |
| 2018-09-04                     |
| 2018-09-10                     |

db<>fiddle here