Я ищу предложение where
, которое можно использовать для извлечения записей за последние 24 часа?
Как выбрать записи за последние 24 часа с помощью SQL?
Ответ 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'
с этим я получаю весь регистр строк в этот день.
Я надеюсь, что это поможет кому угодно.