sql >> Database teknologi >  >> RDS >> Sqlserver

Viser hvilket kvartal af et regnskabsår en dato er i

Dette burde virke:-

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

Output:-

MyDate        Quarter
----------    --------
2011-01-01    "2010Q3"
2011-04-01    "2010Q4"
2011-07-01    "2011Q1"
2011-10-01    "2011Q2"


  1. Servering af lækker mad (og data) – en datamodel for restauranter

  2. Hvordan vælger man det klyngede indeks i SQL Server?

  3. Beskæftiger sig med tidszoner i PHP og MySQL

  4. APEX-installation mislykkes, PLS-00201:identifikator 'SYS.DBMS_DB_VERSION' skal erklæres