[英]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.