Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从字符串字段转换MySQL中的日期_Mysql_Date - Fatal编程技术网

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

从字符串字段转换MySQL中的日期,mysql,date,Mysql,Date,我使用的系统中,日期以字符串形式存储,格式为dd/mm/yyyy。是否可以在SELECT查询中将其转换为yyyy-mm-dd(以便我可以在其上使用DATE\u格式)?MySQL有日期解析功能吗 目前我能想到的唯一方法是连接一组子字符串,但希望有一个更简单的解决方案 (不幸的是,我无法将该字段转换为true date字段,因为它是一个元表:同一列包含不同字段的值,这些字段只是字符串。)允许您这样做,并且它有一个format参数。是的,有 这: …将字符串转换为datetime数据类型。为确保它以您

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

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

(不幸的是,我无法将该字段转换为true date字段,因为它是一个元表:同一列包含不同字段的值,这些字段只是字符串。)

允许您这样做,并且它有一个format参数。

是的,有

这:

…将字符串转换为datetime数据类型。为确保它以您想要的格式发布,请使用:


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

这对快速解决问题很有帮助,如果列已经是DATE格式,最好使用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)
SELECT STR_TO_DATE(dateString, '%d/%m/%y') FROM yourTable...
STR_TO_DATE(t.datestring, '%d/%m/%Y')
DATE_FORMAT(STR_TO_DATE(t.datestring, '%d/%m/%Y'), '%Y-%m-%d')