Назад | Перейти на главную страницу

DBVis SQL Query - Использование переменных даты

Во-первых, прошло очень много времени с тех пор, как я выполнял SQL-запросы, и даже тогда это было не на высоком уровне.

Я создал SQL-запрос, который работает, но я хочу, чтобы диапазон дат менялся автоматически, например, для выполнения за предыдущий месяц. Я боролся часами, но, похоже, не могу заставить работать какую-либо переменную.

Вот простой SQL, который я создал.

SELECT   DEST, COUNT (DEST),  SUM(TALK_TIME), SUM(HOLD_TIME)


    FROM ACC.CALLDETAIL a

    where a.ORIG_DATE>='1140201'
    and a.ORIG_DATE<'1140301'
    and a.APPLIC_NUM = 185

GROUP BY a.DEST;

Формат даты странный, годы после 1900-го месяца.

Любая помощь будет оценена по достоинству.

Пытаться:

SELECT   DEST, COUNT (DEST),  SUM(TALK_TIME), SUM(HOLD_TIME)
    FROM ACC.CALLDETAIL a
    where a.ORIG_DATE >= '1' + (right(convert(varchar,DateAdd(mm, DateDiff(mm, 0, GETDATE()) - 1, 0), 112),6))
    and a.ORIG_DATE < '1' + (right(convert(varchar,DateAdd(mm, DateDiff(mm, 0, GETDATE()) - 0, 0), 112),6))
    and a.APPLIC_NUM = 185
GROUP BY a.DEST;

И посмотрите, делает ли это то, что вы хотите.

(В противном случае вам, возможно, придется объявить @startdate и @enddate и определить их перед запросом.)