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

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

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

4b9b3361

Ответ 1

SELECT * 
FROM table_name
WHERE table_name.the_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY)

Ответ 2

В 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)

Ответ 3

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)

Ответ 4

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

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

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

Ответ 5

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

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

Ответ 6

select ...
from ...
where YourDateColumn >= getdate()-1

Ответ 7

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

SELECT * FROM `orders` WHERE FROM_UNIXTIME(order_ts) > DATE_SUB(CURDATE(), INTERVAL 1 DAY)

Ответ 8

SELECT * 
FROM tableName 
WHERE datecolumn >= dateadd(hour,-24,getdate())

Ответ 9

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

SELECT  *
FROM    mytable
WHERE   order_date > DateAdd(DAY, -1, GETDATE()) and order_date<=GETDATE()

Ответ 10

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

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

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

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

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

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