我有一個日期字段(tinytext),格式爲「dd-mm-yy」,例如07-01-90。使用mysql查詢我想將其更改爲yyyy-mm-dd日期格式。我嘗試了下面的代碼,但沒有任何反應。mysql更改日期格式
mysql_query("UPDATE Table SET date=STR_TO_DATE('date','%Y,%m,%d')");
我有一個日期字段(tinytext),格式爲「dd-mm-yy」,例如07-01-90。使用mysql查詢我想將其更改爲yyyy-mm-dd日期格式。我嘗試了下面的代碼,但沒有任何反應。mysql更改日期格式
mysql_query("UPDATE Table SET date=STR_TO_DATE('date','%Y,%m,%d')");
您使用的是正確的功能STR_TO_DATE(str,format)
要達到的目標,但你媽王兩個錯誤:
format
參數不匹配的字符串表達式格式。你說它是dd-mm-yy
格式,而你通過%Y,%m,%d
(逗號分隔)到format
的說法。該查詢將返回「錯誤的日期時間值」錯誤。你應該使用%d-%m-%Y
。所以,總結:
mysql_query("UPDATE `Table` SET `date` = STR_TO_DATE(`date`, '%d-%m-%Y')");
mysql_query("ALTER TABLE `Table` CHANGE COLUMN `date` `date` DATE");
此外,考慮到位老slowly deprecatedmysql
擴展切換到推薦PDO擴展。
如果您使用的PHP my_sql,您可以使用date功能
要顯示位數的年份
mysql_query("UPDATE Table SET date=DATE_FORMAT(date,'%y-%m-%d')");
要顯示位年份
mysql_query("UPDATE Table SET date=DATE_FORMAT(date,'%Y-%m-%d')");
與DATE_FORMAT()功能試試吧。
mysql_query("UPDATE Table SET date=DATE_FORMAT(date,'%Y,%m,%d')");
我說你必須這樣做:
UPDATE table_name SET date = DATE_FORMAT('date', %Y-%m-%d);
錯誤在查詢
是STR_TO_DATE(日期, '%Y-%間%d')
mysql_query("UPDATE Table SET date=STR_TO_DATE(date,'%Y-%m-%d')");
試試這個:
INSERT INTO table(date_field) VALUES(STR_TO_DATE('December 8, 2010','%M %d,%Y'));
嘗試用['DATE_FORMAT()'](http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html #function_date-format) – diEcho 2012-02-24 07:32:47