我有下面的表格。
TABLE NAME(问题):
ID ISSUE_ID CREATED_DATE
1 101 15 July 2016
2 102 13 July 2016
3 103 10 July 2016
4 104 8 July 2016
5 103 7 July 2016
6 104 19 June 2016
7 103 10 June 2016
8 104 1 June 2016
我想根据当月的天数检索在过去30/31/28天内打开的问题数(计数)。
例如, 在7月份,我们有31天,所以我想检索在过去31天内打开的问题。
如果是6月,我们只有30天,所以我必须检索过去30天内打开的问题。
在DB2中,可以通过
检索本月的天数DAY(LAST_DAY(DATE(current timestamp)))
我仍然对如何将其应用于查询感到困惑。 我对查询的了解非常有限。
提前致谢。
以下查询无效。
SELECT
count(*)
FROM issues
WHERE
MONTH(CREATED_DATE) > (MONTH( DATE(current timestamp) ) - 1 MONTH)
AND
DAY(DATE (CREATED_DATE)) > DAY(DATE(current timestamp))
答案 0 :(得分:1)
您可以在值中替换天数。
基本回到时间选择
select * from sometable where somedate > current date - 31 days
及时退出使用函数选择天数。
select * from sometable where somedate > current date -
DAY(LAST_DAY(DATE(current timestamp))) days
但是我们大多数人选择了一个月的月份
select * from sometable where somedate > current date - 1 months
注意:我发现后N天有用的唯一地方是周一或假期从周末抽出东西。
答案 1 :(得分:0)
你可以试试这个。
SELECT
count(*)
FROM issues
WHERE CREATED_DATE>DAY(LAST_DAY(CURRENT_DATE))
如果CREATED_DATE不是日期格式。试试这个
SELECT
count(*)
FROM issues
WHERE TO_DATE('CREATED_DATE', 'DD MONTH YYYY')>DAY(LAST_DAY(CURRENT_DATE))