在mysql中将字符串转换为日期?

时间:2014-09-21 11:55:05

标签: mysql date

MYSQL函数可以STR-TO-DATE将这种格式的字符串99-MMM-9999(例如,' 2014年9月21日')转换为日期格式?如果该字段是定义为12个字符而不是特定的11?

我试过这个,它得到了NULLS。

2 个答案:

答案 0 :(得分:0)

您可以,只需设置正确的格式掩码:

SELECT STR_TO_DATE('21-Sep-2014','%d-%M-%Y');

如果你有12个字符,请设置正确的掩码,样本:

SELECT STR_TO_DATE(' 21-Sep-2014',' %d-%M-%Y'); 

答案 1 :(得分:0)

    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()

参考: - how to convert a string to date in mysql?

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format