首先,我已经很长时间没有使用过 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并在查询之前定义它们。)