如何在mysql中将字符串转换为日期?
正如这里MySQL Using a string column with date text as a date field说,你可以做
SELECT STR_TO_DATE(yourdatefield, '%m/%d/%Y')
FROM yourtable
您也可以处理WHERE子句这些日期字符串。例如
SELECT whatever
FROM yourtable
WHERE STR_TO_DATE(yourdatefield, '%m/%d/%Y') > CURDATE() - INTERVAL 7 DAYS
您可以通过这种方式处理各种日期/时间布局。请参阅格式说明为DATE_FORMAT()
功能,看看有什么可以投入的第二个参数STR_TO_DATE()
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
STR_TO_DATE('12/31/2011', '%m/%d/%Y')
什么是日期存储为喜欢31/11/1015 DD/MM/YYYY格式? – 2016-05-26 11:50:26
@VipulHadiya将日期格式字符串更改为'%d /%m /%Y''STR_TO_DATE('31/11/1015','%d /%m /%Y')请记住输出将会YYYY-MM-DD“格式为'DATE'数据类型。 – fyrye 2016-08-04 05:58:14
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
用上面的页面在MySQL
SELECT STR_TO_DATE(StringColumn, '%d-%b-%y')
FROM table
指更多的功能
说例如使用下面的查询来获得输出
SELECT STR_TO_DATE('23-feb-14', '%d-%b-%y') FROM table
字符串格式使用下面的链接
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
这是另一个两个例子。
要输出的日,月和年,您可以使用:
select STR_TO_DATE('14/02/2015', '%d/%m/%Y');
主要生产:
2015年2月14日
要还输出时间,您可以使用:
select STR_TO_DATE('14/02/2017 23:38:12', '%d/%m/%Y %T');
主要生产:
2017年2月14日23点38分十二秒
我认为它应该是INTERVAL 7天而不是DAYS – 2016-02-08 18:14:04
我有一个像“dd-mmm-yyyy”格式的字符列。我如何查询“dd-mm-yyyy”格式? – MAX 2017-05-02 14:38:02