sql >> Databasteknik >  >> RDS >> Sqlserver

Visar vilket kvartal av ett räkenskapsår ett datum är i

Detta borde fungera:-

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

Utdata:-

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


  1. Node MySQL escape LIKE-sats

  2. Crypt() saltgenerering och lösenordskryptering, väl genomförd?

  3. Dela en kolumn till flera kolumner men data kommer att variera SQL

  4. Hur gör man paginering medan UNION används i MySQL?