質問

これは私がここで私がここで助けを得た質問までのフォローアップですが、それはわずかに異なる問題です - 私はDBレコードのMySQLのタイムスタンプが過去に7日間一致するかどうかを確認しようとしています(時間を無視して秒など)、しかし、私は「列」import_date 'in where句があいまいなものである」と登録しています」、誰もが問題を見てもらえますか?

これは日付比較です。 タイムスタンプ、e.g 2010-07-13 11:04:27

WHERE date_format( `import_date`, "%Y-%m-%d" ) =
    date_format( date_sub( now(), INTERVAL 11 DAY ), "%Y-%m-%d" ) 
.

役に立ちましたか?

解決

あなたのあいまいなエラーに関しては、import_date列の両方でクエリに2つのテーブルが必要です。あなたは

を使う必要があるでしょう
WHERE date_format( `YourTableName`.`import_date`, "%Y-%m-%d" ) =
    date_format( date_sub( now(), INTERVAL 11 DAY ), "%Y-%m-%d" ) 
.

上記のクエリが sargable

私はMySQLで十分ではないが、それが何をしているのか正確に知っているが確実にあなたはそれを

として書き直すのが良くなるでしょう
WHERE `YourTableName`.`import_date` = x
.

または

WHERE `YourTableName`.`import_date` between x and y
.

適切な

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top