2016-07-14 14 views
1

私はAccessデータベースとして使用されていたデータベースを持っています。今、私はMySQLに移行しました。多くのレコードを持つテーブル '分割払い'があり、日付は 'YYYY-mm-dd'のような形式です。異なる日付形式でSQLクエリを実行する

今、PHPでdate( 'd-m-Y')を使用するだけで、 'dd-mm-YYYY'のような形式で新しい日付を保存しています。

は今、私はこのクエリ

SELECT * FROM `installments` WHERE YEAR(date) = YEAR(CURRENT_DATE) AND MONTH(date) = MONTH(CURRENT_DATE) 

を実行したい。しかし、それは唯一の古いフォーマットで動作しますが、それは2016年7月12日のようなものです。それは12-07-2016で動作します。私は今どうすればいい?

何か助けていただければ幸いです。

私は日付( 'Y-m-d')を使用して書式を変更できますが、私はそれをしたくありません。私はあなたがこのようなものが必要だと思う

+0

を試してみてください?日付として保存する場合は、形式は重要ではありません – ADyson

+0

私はテキストフィールドに格納しています – Sam57

+0

これはうまくいくと思いますが、これをやり直す場合は、MySQLで適切な日付フィールドを使用します。そうすることで、特定の形式で保存して検索する必要はありません。あなたはそれを日付オブジェクトとして保存するだけで、あなたがそれをユーザに表示したいと思っている時点でどんなフォーマットであるか心配しています – ADyson

答えて

0

は、あなたが適切な日付フィールド、またはテキストフィールドに日付を格納している。この

SELECT * FROM `installments` WHERE YEAR(STR_TO_DATE(DATE,'%d-%m-%Y')) = YEAR(CURRENT_DATE) AND MONTH(STR_TO_DATE(DATE,'%d-%m-%Y')) = MONTH(CURRENT_DATE) 
+0

魅力のように働いていました。ありがとうございました – Sam57

0

SELECT * FROM `installments` WHERE YEAR(TO_DATE(date, 'DD/MM/YYYY')) = YEAR(CURRENT_DATE) AND MONTH(TO_DATE(date, 'DD/MM/YYYY')) = MONTH(CURRENT_DATE); 

は、この情報がお役に立てば幸いです。

関連する問題