2016-08-30 6 views
-2

Wie zu überprüfen, wo bestimmten Monat in bestimmten Quartal eines Jahres in SQL db2 ist. wie Monate 1-4 in Quartal 1 wie als ich möchte prüfen, ob Monat-1, in dem Quartal des Jahres hatüberprüfen Monat im Quartal sql

+0

'Extract (Monat aus Spalte) 'ist ANSI SQL. Oder vielleicht sollten Sie 'MONAT (Spalte)' tun. – jarlh

+0

yeah ich bin in der Lage, Monat von Datum zu bekommen, aber ich muss überprüfen, in welchem ​​Quartal dieser Monat gehört .. – chaitanya

+0

'Fall, wenn Monatlich in (1,2,3) dann 'q1' wenn Monat in (4,5, 6) dann 'q2' ... end' – jarlh

Antwort

0

versuchen dieses

SELECT 
    MyDate, 
    CASE 
     WHEN MONTH(MyDate) BETWEEN 1 AND 3 THEN convert(char(4), YEAR(MyDate) - 1) + 'Q3' 
     WHEN MONTH(MyDate) BETWEEN 4 AND 6 THEN convert(char(4), YEAR(MyDate) - 1) + 'Q4' 
     WHEN MONTH(MyDate) BETWEEN 7 AND 9 THEN convert(char(4), YEAR(MyDate) - 0) + 'Q1' 
     WHEN MONTH(MyDate) BETWEEN 10 AND 12 THEN convert(char(4), YEAR(MyDate) - 0) + 'Q2' 
    END AS Quarter 
FROM 
    MyTable 
order by Quarter 

ODER

SELECT 
    date 
    , CASE 
     WHEN MONTH(date) BETWEEN 7 AND 9 THEN 'First Quarter' 
     WHEN MONTH(date) BETWEEN 10 AND 12 THEN 'Second Quarter' 
     WHEN MONTH(date) BETWEEN 1 AND 3 THEN 'Third Quarter' 
     WHEN MONTH(date) BETWEEN 4 AND 6 THEN 'Fourth Quarter' 
    END AS quarter 
FROM Stuff 
1

DB2 ein eingebautes QUARTER function das macht, was ich denke, du willst:

SELECT QUARTER(CURRENT TIMESTAMP) FROM SYSIBM.SYSDUMMY1 
Verwandte Themen