私は日付フィールド(tinytext)の日付情報を "dd-mm-yy"(07-01-90など)の形式で保持しています。 mysqlクエリを使用して、yyyy-mm-ddの日付形式に変更したいと思います。私は以下のコードを試しましたが、何も起こりません。あなたは、PHPでmy_sqlを使用している場合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の日付形式に変更したいと思います。私は以下のコードを試しましたが、何も起こりません。あなたは、PHPでmy_sqlを使用している場合mysqlの変更日付フォーマット
mysql_query("UPDATE Table SET date=STR_TO_DATE('date','%Y,%m,%d')");
あなたは目標を達成するために正しい機能STR_TO_DATE(str,format)
を使用していますが、あなたはmaです王2つのミス:あなたのクエリで
format
引数は文字列の表現形式と一致していません。 %Y,%m,%d
(カンマ区切り)をformat
引数に渡している間は、dd-mm-yy
形式であると言っています。このクエリは「datetime値が正しくありません」というエラーを返します。 %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延長への切り替えを検討してください。
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-%m-%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てみてください#1 function_date形式) – diEcho