簡體   English   中英

mysql查詢檢查大於日期和時間

[英]mysql query to check greater than date and time

我的數據庫中有兩個日期和時間列。 我想獲取日期大於或等於當前日期和當前時間的行

我用下面的查詢來獲取結果

SELECT DISTINCT     
A.appt_fromUser,A.date,A.time,A.appt_styleType,B.*,A.appt_shoutID,A.shout_status 
from appoint_db A 
INNER JOIN checkedin_db B ON A.appt_id=B.appid 
where A.appt_toUser='$userid' 
and A.date>='$date' 
and InChair='0' 
and A.time>='$time'

但是,這不符合我的期望。

例如,如果我有兩行:

2012/05/30時間:6.00
2012/05/30時間:13.00

我用日期2012/05/02和Time:12:00進行查詢,它僅返回時間大於12:00的行

如果日期與要檢查的日期相同,則只應檢查時間。

SELECT DISTINCT     
A.appt_fromUser,A.date,A.time,A.appt_styleType,B.*,A.appt_shoutID,A.shout_status
from appoint_db A
INNER JOIN checkedin_db B ON A.appt_id=B.appid 
where A.appt_toUser='$userid'
and   InChair='0'
and (
       A.date>'$date'
       OR (
           A.date = '$date'
           AND
           A.time>='$time'
       )
    )

您還可以在選擇之前連接日期和時間。 我不會(可能無法在某些語言環境下工作)。

SELECT DISTINCT
A.appt_fromUser,A.date,A.time,A.appt_styleType,B.*,A.appt_shoutID,A.shout_status
from appoint_db A
INNER JOIN checkedin_db B ON A.appt_id=B.appid
where A.appt_toUser=1
and InChair='0'
AND CONCAT(A.date, ' ', A.time) >= '$date $time'

mysql中的now()函數返回當前時間戳。 你可以用那個

暫無
暫無

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

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