質問
私はこのクエリを使用する場合:
SELECT COUNT(*) FROM `my_table` WHERE DATEDIFF(NOW(), updated) > 2
MySQLはエラーなしでクエリを実行し、私は最後の2日間以内に更新されていない行の数を取得します。しかし、私はこのようなクエリを変更する場合:
SELECT * FROM `my_table` WHERE DATEDIFF(NOW(), updated) > 2
私は次のエラーを取得します
#1305 - FUNCTION mydatabase.DATEDIFF does not exist
これがそうである理由を任意のアイデア?
解決
私はLIMITを設定していなかった場合、それはSELECTでの作業ではないだろう同様の問題を持っていた。
のような何かをしてみます:
SELECT * FROM `my_table` WHERE DATEDIFF(NOW(), updated) > 2 LIMIT 0, 10
これは、MySQLのアップデートで修正されました。また、MySQLのバージョンを更新してみます。
他のヒント
あなたはDATEDIFF
とブラケット(
の間にスペースがないことを確認します。
おそらくあなたも試みることができるSET sql_mode = "IGNORE_SPACE";
また、これをチェックバグ報告するます。
所属していません StackOverflow