为了账号安全,请及时绑定邮箱和手机立即绑定

从String字段转换MySQL中的日期

从String字段转换MySQL中的日期

扬帆大鱼 2019-07-17 18:17:05
从String字段转换MySQL中的日期我使用的是一个系统,在这个系统中,日期以字符串的形式存储在格式中。dd/mm/yyyy..是否可以将其转换为yyyy-mm-dd在SELECT查询中(以便我可以使用DATE_FORMAT在上面)?MySQL有日期解析功能吗?目前我能想到的唯一方法是连接一串子串,但希望有一个更简单的解决方案。(不幸的是,我无法将该字段转换为真正的Date字段,因为它是一个元表:同一列包含仅为字符串的不同字段的值。)
查看完整描述

3 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

这是:

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

.将字符串转换为日期时间数据类型。要确保它以您希望的格式出现,请使用日期格式:

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

如果无法更改原始列上的数据类型,我建议创建视图使用STR_TO_DATE调用将字符串转换为日期时间数据类型。


查看完整回答
反对 回复 2019-07-17
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

是的,有截至日期

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)


查看完整回答
反对 回复 2019-07-17
?
holdtom

TA贡献1805条经验 获得超10个赞

截至日期允许您这样做,并且它有一个格式参数。


查看完整回答
反对 回复 2019-07-17
  • 3 回答
  • 0 关注
  • 669 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信