Фильтрация записей в SQL Server по дате - PullRequest
2 голосов
/ 01 декабря 2011

Мне нужно выбрать все записи, которые не старше 18 месяцев. Я написал этот запрос для SQL Server. Но это не похоже на работу.

SELECT DISTINCT Company, 
        Name,
        PhoneNumber,
FROM        Request
WHERE       Company  LIKE @Company
AND     RequestDate >= ADD_MONTHS(SYSDATE, -18)

Ответы [ 2 ]

4 голосов
/ 01 декабря 2011
SELECT DISTINCT Company,  
        Name, 
        PhoneNumber, 
FROM        Request 
WHERE       Company  LIKE @Company 
AND     datediff(mm, RequestDate, getdate()) <= 18

Для этого используйте функцию DATEDIFF . Приведенный выше запрос должен получить желаемые результаты.

3 голосов
/ 01 декабря 2011
SELECT DISTINCT Company, Name, PhoneNumber, 
FROM Request WHERE Company LIKE @Company 
AND RequestDate >= DATEADD(MONTH, -18, GETDATE())
...