1

ストア プロシージャがあり、IN パラメータは今日の DATE です。この手順では、aql はこの今日の値をタイムスタンプ列を持つテーブルと比較します。例えば:

column A
2012-12-01 00:00:00

SQL:

select * from t where A = today.

この手順を phpmyadmin で実行すると、正常に実行されます。しかし、コマンドラインでは機能しません。

なんで?

4

2 に答える 2

4

両方の日付を共通の形式にフォーマットする必要があると思います。安全のために、追加する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');
于 2013-01-06T14:05:12.133 に答える
1

日付の形式が異なる可能性があり、それが原因で日付が等しくない可能性があります。datediff(date1, date2) = 0これを修正するために使用できます。

http://www.w3schools.com/sql/func_datediff_mysql.asp

于 2013-01-07T05:08:50.707 に答える