我正在使用一个系统,其中日期以格式存储为字符串dd/mm/yyyy.是否可以将其转换yyyy-mm-dd为SELECT查询(以便我可以使用DATE_FORMAT它)?MySQL有日期解析功能吗?
目前我能想到的唯一方法是连接一堆子串,但希望有一个更简单的解决方案.
(不幸的是,我无法将字段转换为真正的日期字段,因为它是一个元表:同一列包含不同字段的值,这些字段只是字符串.)
OMG*_*ies 128
这个:
STR_TO_DATE(t.datestring, '%d/%m/%Y')
Run Code Online (Sandbox Code Playgroud)
...将字符串转换为datetime数据类型.为了确保它以您想要的格式出现,请使用DATE_FORMAT:
DATE_FORMAT(STR_TO_DATE(t.datestring, '%d/%m/%Y'), '%Y-%m-%d')
Run Code Online (Sandbox Code Playgroud)
如果您无法更改原始列上的数据类型,我建议创建一个使用该STR_TO_DATE调用将字符串转换为DateTime数据类型的视图.
nos*_*nos 18
是的,有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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
171998 次 |
| 最近记录: |