답변:
에서 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)
function getdate() does not exist
. 그것을 교체하고 current_date
잘 작동했습니다.
CURDATE()
시간 부분이있는 날짜를 반환하지 않는 것 같습니다 00
. NOW()
대신을 사용하여 수정했습니다 CURDATE()
.
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)
고려 된 타임 스탬프가 UNIX 타임 스탬프 인 경우 먼저 UNIX 타임 스탬프 (예 : 1462567865)를 mysql 타임 스탬프 또는 데이터로 변환해야합니다.
SELECT * FROM `orders` WHERE FROM_UNIXTIME(order_ts) > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
SELECT DATEDIFF(s, '1970-01-01 00:00:00', DateField)
SQL Server 2016 이상에서 밀리 초 정확도가 필요한 경우 다음을 사용하십시오. SELECT DATEDIFF_BIG(millisecond, '1970-01-01 00:00:00', DateField)
안녕하세요, 이제 원래 게시물에서 많은 시간이 지났지 만 비슷한 문제가 발생하여 공유하고 싶습니다.
YYYY-MM-DD hh : mm : ss 형식의 날짜 시간 필드가 있고 하루 종일 액세스하고 싶으므로 여기에 해결책이 있습니다.
MySQL의 DATE () 함수 : 날짜 또는 날짜 / 시간 표현식의 날짜 부분을 추출하십시오.
SELECT * FROM `your_table` WHERE DATE(`your_datatime_field`)='2017-10-09'
이것으로 나는 오늘의 모든 행 레지스터를 얻습니다.
나는 누군가의 도움을 바랍니다.
SQL Server에서 (최근 24 시간 동안) :
SELECT *
FROM mytable
WHERE order_date > DateAdd(DAY, -1, GETDATE()) and order_date<=GETDATE()