DBVis SQL 查询 - 使用日期变量

DBVis SQL 查询 - 使用日期变量

首先,我已经很长时间没有使用过 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年后的月份日期

任何帮助将不胜感激。

答案1

尝试:

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并在查询之前定义它们。)

相关内容