一尘不染

在MySQL中从字符串字段转换日期

mysql

我使用的系统中,日期以字符串形式存储在格式中dd/mm/yyyy。是否可以将其转换yyyy-mm- dd为SELECT查询(以便我可以DATE_FORMAT在其上使用)?MySQL是否具有日期解析功能?

目前,我唯一想到的方法是连接一串子字符串,但希望有一个更简单的解决方案。

(不幸的是,由于它是一个元表,因此我无法将其转换为真实的日期字段:同一列包含的只是字符串的不同字段的值。)


阅读 383

收藏
2020-05-17

共1个答案

一尘不染

这个:

STR_TO_DATE(t.datestring, '%d/%m/%Y')

…将字符串转换为日期时间数据类型。为了确保它以您想要的格式显示,请使用DATE_FORMAT

DATE_FORMAT(STR_TO_DATE(t.datestring, '%d/%m/%Y'), '%Y-%m-%d')

如果您无法更改原始列上的数据类型,建议创建一个视图该视图使用该STR_TO_DATE调用将字符串转换为DateTime数据类型。

2020-05-17