Как выбрать записи за последние 24 часа с помощью SQL?

Я ищу предложение where, которое можно использовать для извлечения записей за последние 24 часа?

4b9b3361

В MySQL:

SELECT  *
FROM    mytable
WHERE   record_date >= CURDATE() - 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)
381
ответ дан 11 дек. '09 в 17:52
источник

MySQL:

SELECT * 
FROM table_name
WHERE table_name.the_date > DATE_SUB(NOW(), INTERVAL 24 HOUR)

ИНТЕРВАЛ может быть в ГОД, МЕСЯЦЕ, ДНЕВЕ, ЧАСОВ, МИНУТ, ВТОРОМ

Например, за последние 10 минут

SELECT * 
FROM table_name
WHERE table_name.the_date > DATE_SUB(NOW(), INTERVAL 10 MINUTE)
16
ответ дан 06 февр. '13 в 2:06
источник

Какой SQL не был указан, SQL 2005/2008

SELECT yourfields from yourTable WHERE yourfieldWithDate > dateadd(dd,-1,getdate())

Если вы используете типы даты с высокой точностью 2008 года, используйте вместо этого новую функцию sysdatetime(), равномерно, если время UTC внутренне свопится к UTC-вызовам.

8
ответ дан 11 дек. '09 в 17:54
источник

в postgres, если ваш тип поля является меткой времени:

выберите * из таблицы, где date_field > (now() - interval '24 hour ');

6
ответ дан 21 июня '12 в 1:31
источник

Если рассматриваемая временная метка является отметкой времени UNIX Вам нужно сначала преобразовать отметку времени UNIX (например, 1462567865) в timestamp или данные mysql.

SELECT * FROM `orders` WHERE FROM_UNIXTIME(order_ts) > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
2
ответ дан 07 мая '16 в 0:22
источник

В SQL Server (за последние 24 часа):

SELECT  *
FROM    mytable
WHERE   order_date > DateAdd(DAY, -1, GETDATE()) and order_date<=GETDATE()
0
ответ дан 06 марта '12 в 9:44
источник

Привет, теперь я пропустил много времени с исходного сообщения, но у меня возникла аналогичная проблема, и я хочу поделиться.

Я получил поле datetime с этим форматом YYYY-MM-DD hh: mm: ss, и я хочу получить доступ целый день, так что вот мое решение.

Функция DATE(), в MySQL: извлечение части даты выражения даты или даты и времени.

SELECT * FROM `your_table` WHERE DATE(`your_datatime_field`)='2017-10-09'

с этим я получаю весь регистр строк в этот день.

Я надеюсь, что это поможет кому угодно.

0
ответ дан 10 окт. '17 в 10:52
источник