簡體   English   中英

將日期與where子句比較

[英]Compare date with where clause

$date=date("d/m/Y");
$d =  "select * from admission  WHERE batcht > $date";
$e = mysql_query($d);
while($f=mysql_fetch_array($e)){
echo $f[2];
}

我想獲取當前日期超過到期日期的名稱。它不起作用。 請幫我

在與另一個日期比較之前,將varchar列batcht的日期值batcht為一個日期。

   select * from `admission`  WHERE date( `batcht` ) > str_to_date( '$date', '%Y/%m/%d' )

感謝您的headsup @Sougata關於日〜沒注意到日期格式無效

mySQL中的日期具有以下格式: 'YYYY-MM-DD hh:mm:ss'
因此將$ date設置

$ date = date('Ymd H:i:s);
$ d =“從入場批處理中選擇*>'$ date'”;

...,或者:

$ date = date('Ym-d')。 '00:00:00';
$ d =“從入場批處理中選擇*>'$ date'”;

數據庫: PostgreSQL

如果要檢查日期,則不必使用php date函數。

您可以更改查詢。

select * from admission  WHERE batcht > CURRENT_DATE;

僅當數據類型設置為DATE或TIMESTAMP時,才可以在日期中執行比較,否則它將把db中的值視為字符串,因此結果將基於字符串的長度而不是數據。

因此,我建議您在數據庫中更改批處理列的數據類型

對於mysql,您可以將NOW()用於當前日期時間,也可以將CURDATE()用於當前日期。 所以你的查詢應該是這樣的:

select * from admission  WHERE batcht > CURDATE()

並放棄$ date變量,因為您現在不需要它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM