0

これは簡単な作業のように思えます。他の人が同じ質問をするのを見たことがありますが、それでもSQLクエリから結果を返すことはできません。現在のタイムスタンプのデフォルトで設定される日付列があります。したがって、YYYY-MM-DDHH-MM-SSと表示されます。

私のSQLクエリは次のとおりです。

select `paid` from customer_det where `office` = "Blanding" and `date`= CURDATE();

and date = curdateを削除すると、結果セットが返されます。だから私は2つの日付を一致させる方法に興味があります。今日挿入された結果をプルする必要があります。実際の時間は関係ありません。

ありがとう。

4

4 に答える 4

1

CURDATE()YYYY-MM-DDを返します。

日付の値はYYYY-MM-DDHH-MM-SSであるため、 date = CURDATE()常にfalseになります。あなたがしていることは'2012-11-07 21:58:47' = '2012-11-07'、明らかに同じではないからです。

代わりに、次のようにmysqlのDATE()関数を使用できます。

SELECT `paid` FROM customer_det WHERE `office` = "Blanding" and DATE(date) = CURDATE();
于 2012-11-07T20:59:10.907 に答える
0

これを試しましたか:

$curDate = date("Y-m-d");
$query = "select `paid` from customer_det where `office` = "Blanding" and `date` = $curDate";

あなたがリストしたものはうまくいくはずだと私には思えます。

于 2012-11-07T21:04:59.653 に答える
0

タイムスタンプをキャストして、そのDATE()部分を取得して比較することができます。

SELECT `paid` FROM customer_det WHERE `office` = "Blanding" AND DATE(`date`) = CURDATE();
于 2012-11-07T20:58:43.293 に答える
0

DATEDIFFでこれができると思います。

select `paid` from customer_det where `office` = "Blanding" and DATEDIFF(`date`, CURDATE()) = 0;
于 2012-11-07T20:59:07.647 に答える