Как вы можете получить сегодня дату и преобразовать ее в формат 01/mm /yyyy
и получить данные из таблицы с месяцем поставки 3 месяца назад? Таблица уже содержит месяц доставки как 01/mm/yyyy
.
Sql-запрос для получения данных за последние 3 месяца
Ответ 1
SELECT *
FROM TABLE_NAME
WHERE Date_Column >= DATEADD(MONTH, -3, GETDATE())
Предлагаемый метод Mureinik вернет те же результаты, но при этом ваш запрос может получить выгоду от любых индексов на Date_Column
.
или вы можете проверить последние 90 дней.
SELECT *
FROM TABLE_NAME
WHERE Date_Column >= DATEADD(DAY, -90, GETDATE())
Ответ 2
Последние версии mysql не поддерживают DATEADD вместо синтаксиса
DATE_ADD(date,INTERVAL expr type)
Чтобы использовать данные за последние 3 месяца,
DATE_ADD(NOW(),INTERVAL -90 DAY)
DATE_ADD(NOW(), INTERVAL -3 MONTH)
Ответ 3
Я бы использовал datediff
и не заботился о преобразованиях формата:
SELECT *
FROM mytable
WHERE DATEDIFF(MONTH, my_date_column, GETDATE()) <= 3
Ответ 4
Последние 3 месяца
SELECT DATEADD(dd,DATEDIFF(dd,0,DATEADD(mm,-3,GETDATE())),0)
Сегодня
SELECT DATEADD(dd,DATEDIFF(dd,0,GETDATE()),0)