[sql] SQL을 사용하여 지난 24 시간 동안 레코드를 선택하는 방법은 무엇입니까?

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