Подтвердить что ты не робот

Sql-запрос для получения данных за последние 3 месяца

Как вы можете получить сегодня дату и преобразовать ее в формат 01/mm /yyyy и получить данные из таблицы с месяцем поставки 3 месяца назад? Таблица уже содержит месяц доставки как 01/mm/yyyy.

4b9b3361

Ответ 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)