답변:
SELECT * FROM users WHERE created >= CURDATE();
하지만 난 당신이 의미하는 것 같아 created < today
SELECT * FROM myTable WHERE DATE(myDate) = DATE(NOW())
더 읽기 : http://www.tomjepson.co.uk/tutorials/36/mysql-select-where-date-today.html
SELECT * FROM users WHERE created >= NOW();
열이 날짜 시간 유형 인 경우
열에 인덱스가 있고 함수가 열에 적용되면 인덱스가 작동하지 않고 전체 테이블 스캔이 발생하여 쿼리 속도가 느려집니다.
인덱스를 사용하고 날짜 / 시간 을 오늘 / 현재 날짜 와 비교하기 위해 다음을 사용할 수 있습니다.
OP 솔루션 :
select * from users
where created > CONCAT(CURDATE(), ' 23:59:59')
오늘 데이터를 얻는 샘플 :
select * from users
where
created >= CONCAT(CURDATE(), ' 00:00:00') AND
created <= CONCAT(CURDATE(), ' 23:59:59')
또는 짧게 BETWEEN을 사용하십시오.
select * from users
where created BETWEEN
CONCAT(CURDATE(), ' 00:00:00') AND CONCAT(CURDATE(), ' 23:59:59')
SELECT * FROM table_name WHERE CONCAT( SUBSTRING(json_date, 11, 4 ) , '-', SUBSTRING( json_date, 7, 2 ) , '-', SUBSTRING(json_date, 3, 2 ) ) >= NOW();
json_date [ "05/11/2011"]
if 문 내에서 모든 행을 반환하고 php datediff 함수를 사용할 수 있지만 서버에 추가로드가 발생합니다.
if(dateDiff(date("Y/m/d"), $row['date']) <=0 ){
}else{
echo " info here";
}
CURDATE()
시간이 아닌 날짜 만 반환