从String字段转换MySQL中的日期

从String字段转换MySQL中的日期

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

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

(不幸的是,我无法将该字段转换为真正的Date字段,因为它是一个元表:同一列包含仅为字符串的不同字段的值。)


潇湘沐
浏览 409回答 3
3回答

喵喔喔

这是:STR_TO_DATE(t.datestring, '%d/%m/%Y').将字符串转换为日期时间数据类型。要确保它以您希望的格式出现,请使用日期格式:DATE_FORMAT(STR_TO_DATE(t.datestring, '%d/%m/%Y'), '%Y-%m-%d')如果无法更改原始列上的数据类型,我建议创建视图使用STR_TO_DATE调用将字符串转换为日期时间数据类型。

翻过高山走不出你

是的,有截至日期mysql> select str_to_date("03/02/2009","%d/%m/%Y");+--------------------------------------+| str_to_date("03/02/2009","%d/%m/%Y") |+--------------------------------------+| 2009-02-03                           |+--------------------------------------+1 row in set (0.00 sec)

侃侃无极

截至日期允许您这样做,并且它有一个格式参数。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL