[SQL] 날짜 시간과 같거나 MySQL은 오늘보다 더 큰
SQL날짜 시간과 같거나 MySQL은 오늘보다 더 큰
어떤 것은 다음을 수행 할 수있는 가장 좋은 방법 :
SELECT * FROM users WHERE created >= today;
참고 : 생성은 날짜 필드입니다.
해결법
-
==============================
1.
SELECT * FROM users WHERE created >= CURDATE();
하지만 <오늘 만든 의미 생각
-
==============================
2.
SELECT * FROM myTable WHERE DATE(myDate) = DATE(NOW())
더 읽기 : http://www.tomjepson.co.uk/tutorials/36/mysql-select-where-date-today.html
-
==============================
3.
SELECT * FROM users WHERE created >= NOW();
컬럼은 날짜 타입 인 경우.
-
==============================
4.'생성'경우 날짜 유형입니다
'생성'경우 날짜 유형입니다
SELECT * FROM users WHERE created < DATE_ADD(CURDATE(), INTERVAL 1 DAY);
CURDATE ()는 또한 '2013년 5월 9일 0시 0분 0초'수단
-
==============================
5.표시 대답은 잘못된 것입니다. 언급 한 문제는 날짜 시간이지만, () 단지 CURDATE 무엇이 필요하다고 말했다.
표시 대답은 잘못된 것입니다. 언급 한 문제는 날짜 시간이지만, () 단지 CURDATE 무엇이 필요하다고 말했다.
이것에 짧고 정답은 :
SELECT * FROM users WHERE created >= CURRENT_TIMESTAMP;
-
==============================
6.열이 인덱스를 가지고 함수를 컬럼에 적용되는 경우 지수는 작동하지 않고 전체 테이블 스캔 정말 느린 쿼리를 일으키는 원인이 발생합니다.
열이 인덱스를 가지고 함수를 컬럼에 적용되는 경우 지수는 작동하지 않고 전체 테이블 스캔 정말 느린 쿼리를 일으키는 원인이 발생합니다.
인덱스를 사용하고 오늘 / 현재 날짜와 날짜를 비교하기 위해, 다음을 사용할 수 있습니다.
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')
-
==============================
7.
SELECT * FROM users WHERE created >= now()
-
==============================
8.아래의 코드는 나를 위해 일했다.
아래의 코드는 나를 위해 일했다.
declare @Today date Set @Today=getdate() --date will equal today Select * FROM table_name WHERE created <= @Today
-
==============================
9.
SELECT * FROM table_name WHERE CONCAT( SUBSTRING(json_date, 11, 4 ) , '-', SUBSTRING( json_date, 7, 2 ) , '-', SUBSTRING(json_date, 3, 2 ) ) >= NOW();
json_date [ "2011년 5월 11일"]
-
==============================
10.즉 서버에 추가로드를 넣어 것입니다하지만 당신은, if 문 내부에 DATEDIFF 함수를 PHP 모든 행과 사용보다 반환 할 수 있습니다.
즉 서버에 추가로드를 넣어 것입니다하지만 당신은, if 문 내부에 DATEDIFF 함수를 PHP 모든 행과 사용보다 반환 할 수 있습니다.
if(dateDiff(date("Y/m/d"), $row['date']) <=0 ){ }else{ echo " info here"; }
from https://stackoverflow.com/questions/5182275/datetime-equal-or-greater-than-today-in-mysql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL LIKE 절의 특수 문자 목록 (0) | 2020.03.31 |
---|---|
[SQL] 물리 대 논리 / 소프트 데이터베이스 레코드의 삭제 하시겠습니까? (0) | 2020.03.31 |
[SQL] CTE와 하위 쿼리의 차이? (0) | 2020.03.31 |
[SQL] 왼쪽 Where 절과 함께 가입 (0) | 2020.03.31 |
[SQL] MySQL 데이터베이스에서 통화 값을 저장하기위한 최고의 데이터 유형 (0) | 2020.03.31 |