テーブルに文字列として日付を保存しています(列名は「log_event」です)-ええ、実際の日付型である必要があることはわかっています-しかし、作成していない既存のテーブルで作業しています。
とにかく、日付は次の形式で列に表示されます
'08/14/2014 午前 1:01' (または午後)
私は本当に、文字列の日付部分に基づいて SELECT を取得しようとしています (SELECT の目的で時間は気にしません。たとえば、date1 と date2 の間の日付を持つすべての行が必要です)。 、そして私は試しました:
SELECT * FROM db_event_log WHERE STR_TO_DATE(log_event,'%m/%d/%Y') > STR_TO_DATE('08/01/2014', '%m/%d/%Y')
しかし、私のSELECTはNULLを返します
(はい、これは 2 つの日付の間で SELECT しないことを知っています。次のレベルに進む前に、クエリ文字列を段階的に作成して、それが正しいことを確認しようとしています)
また、次のようにして、時間のフォーマットも試みました。
SELECT * FROM db_event_log WHERE STR_TO_DATE(log_event,'%m/%d/%Y %l:%i %p') > STR_TO_DATE('08/01/2014 12:00 am', '%m/%d/%Y %l:%i %p')
これも NULL 選択を返します。
どこが間違っていますか?