ストア プロシージャがあり、IN パラメータは今日の DATE です。この手順では、aql はこの今日の値をタイムスタンプ列を持つテーブルと比較します。例えば:
column A
2012-12-01 00:00:00
SQL:
select * from t where A = today.
この手順を phpmyadmin で実行すると、正常に実行されます。しかし、コマンドラインでは機能しません。
なんで?
両方の日付を共通の形式にフォーマットする必要があると思います。安全のために、追加するDate()
かstr_to_Date
、必要に応じて...列A
に適切な日付が含まれているかどうかわからない場合は...
これを試してください:
SELECT * FROM tablename
WHERE DATE_FORMAT(A, '%d/%m/%Y') = DATE_FORMAT(TODAY, '%d/%m/%Y');
もしあなたがそれを意味CURDATE()
するならtoday
、これも試してみてください、
SELECT * FROM tablename
WHERE DATE_FORMAT(A, '%d/%m/%Y') = DATE_FORMAT(CURDATE(), '%d/%m/%Y');
日付の形式が異なる可能性があり、それが原因で日付が等しくない可能性があります。datediff(date1, date2) = 0
これを修正するために使用できます。