2012-05-02 5 views
2

데이터베이스에 두 개의 날짜와 시간 컬럼이 있습니다. 나는 날짜가 내가 기대했던대로 날짜와 시간보다 큰지 확인하는 mysql 쿼리

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년 5월 2일의 날짜가이 쿼리 및 시간 : 12시, 12시보다 큰 행만 반환합니다.

답변

1

날짜가 확인중인 날짜와 동일한 경우에만 시간을 확인하십시오.

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' 
0

mysql의 now() 함수는 현재 타임 스탬프를 반환합니다. 그걸 사용하실 수 있습니다

관련 문제