where
지난 24 시간 동안 레코드를 검색하는 데 사용할 수 있는 절을 찾고 있습니까?
답변
SELECT *
FROM table_name
WHERE table_name.the_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
답변
에서 MySQL
:
SELECT *
FROM mytable
WHERE record_date >= NOW() - INTERVAL 1 DAY
에서 SQL Server
:
SELECT *
FROM mytable
WHERE record_date >= DATEADD(day, -1, GETDATE())
에서 Oracle
:
SELECT *
FROM mytable
WHERE record_date >= SYSDATE - 1
에서 PostgreSQL
:
SELECT *
FROM mytable
WHERE record_date >= NOW() - '1 day'::INTERVAL
에서 Redshift
:
SELECT *
FROM mytable
WHERE record_date >= GETDATE() - '1 day'::INTERVAL
에서 SQLite
:
SELECT *
FROM mytable
WHERE record_date >= datetime('now','-1 day')
에서 MS Access
:
SELECT *
FROM mytable
WHERE record_date >= (Now - 1)
답변
MySQL :
SELECT *
FROM table_name
WHERE table_name.the_date > DATE_SUB(NOW(), INTERVAL 24 HOUR)
간격은 YEAR, MONTH, DAY, HOUR, MINUTE, SECOND 일 수 있습니다.
예를 들어 지난 10 분 동안
SELECT *
FROM table_name
WHERE table_name.the_date > DATE_SUB(NOW(), INTERVAL 10 MINUTE)
답변
지정되지 않은 SQL, SQL 2005/2008
SELECT yourfields from yourTable WHERE yourfieldWithDate > dateadd(dd,-1,getdate())
2008 년 정확도가 향상된 날짜 유형을 사용하는 경우 UTC 시간을 내부적으로 UTC 호출로 바꾸는 경우 새 sysdatetime () 함수를 대신 사용하십시오.
답변
필드 유형이 타임 스탬프라고 가정하면 postgres에서 :
date_field> (now ()-interval ’24 hour ‘) 인 테이블에서 *를 선택하십시오.
답변
고려 된 타임 스탬프가 UNIX 타임 스탬프 인 경우 먼저 UNIX 타임 스탬프 (예 : 1462567865)를 mysql 타임 스탬프 또는 데이터로 변환해야합니다.
SELECT * FROM `orders` WHERE FROM_UNIXTIME(order_ts) > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
답변
select ...
from ...
where YourDateColumn >= getdate()-1