2016-07-19 16 views
1

私は以下のようなテーブルを持っています。DB2 - 当月の日数に基づいて値を選択

表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

これを試すことができます。

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)) 
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日が有用であることが分かってきた唯一の場所は、月曜日に週末からのものを引き出しているのか、休日。

関連する問題