我有一个 绳子列作为一个 约会,我想选择它作为一个 DATE。
DATE
有可能吗?
我的示例数据格式如下:
- > 12/31/2011
12/31/2011
STR_TO_DATE('12/31/2011', '%m/%d/%Y')
使用包含日期文本的字符串列作为日期字段告诉我们,你可以做到
SELECT STR_TO_DATE(yourdatefield, '%m/%d/%Y') FROM yourtable
还可以在 WHERE子句中处理这些日期字符串
WHERE
SELECT whatever FROM yourtable WHERE STR_TO_DATE(yourdatefield, '%m/%d/%Y') > CURDATE() - INTERVAL 7 DAY
您可以通过这种方式处理各种日期/时间布局。请参考 DATE_FORMAT()函数的格式说明符,看看你可以把什么放入 STR_TO_DATE()的第二个参数。
DATE_FORMAT()
STR_TO_DATE()
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
对于 String 格式,请使用下面的链接
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-02-14
要同时输出时间,可以使用:
select STR_TO_DATE('14/02/2017 23:38:12', '%d/%m/%Y %T');
2017-02-1423:38:12
下面说明了 STR_TO_DATE()函数的语法:
STR_TO_DATE(str,fmt);
STR_TO_DATE()根据 fmt 格式字符串将 str 字符串转换为日期值。STR_TO_DATE()函数可以根据输入和格式字符串返回 日期、 时间或 日期时间值。如果输入字符串是非法的,则 STR_TO_DATE()函数返回 NULL。
以下语句将字符串转换为 日期值。
SELECT STR_TO_DATE('21,5,2013','%d,%m,%Y');
基于格式化字符串 ’% d,% m,% Y’,STR_TO_DATE()函数扫描 2013年5月21日输入字符串。
STR_TO_DATE()函数根据格式字符串解析输入字符串时,忽略输入字符串末尾的额外字符。请看下面的例子:
SELECT STR_TO_DATE('21,5,2013 extra characters','%d,%m,%Y');
更多详情: 参考文献