如何在mysql中将长日期格式转换为短日期格式

时间:2016-03-30 06:53:19

标签: mysql date

我想将'01-Dec-2015'日期转换为'2015-12-01'。 我怎么能在mysql中做到这一点。

当我执行查询时: -

SET SQL_SAFE_UPDATES=0;
UPDATE biometric_date
SET att_date = STR_TO_DATE(att_date, '%d/%m/%Y');

它显示我的错误

Error Code: 1411. Incorrect datetime value: '01-Dec-2015' for function str_to_date

请帮帮我

4 个答案:

答案 0 :(得分:1)

UPDATE biometric_date SET att_date = STR_TO_DATE('01-Dec-2015','%d-%M-%Y')

答案 1 :(得分:1)

只需将当前格式作为STR_TO_DATE()函数中的第二个参数:

UPDATE date_table t SET att_date = STR_TO_DATE(t.att_date,'%d-%M-%Y');

答案 2 :(得分:0)

您应该执行以下操作:

mysql> select str_to_date('01-Dec-2015','%d-%M-%Y');
+---------------------------------------+
| str_to_date('01-Dec-2015','%d-%M-%Y') |
+---------------------------------------+
| 2015-12-01                            |
+---------------------------------------+
1 row in set (0,01 sec)

答案 3 :(得分:0)

检查att_date。这可能不是必需的格式。

您也可以使用DATE_FORMAT

SELECT DATE_FORMAT('01-Dec-2015','%d-%m-%Y') as somecolname 
FROM tablename