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

Få kvartalers startdato og slutdato fra år

select 
    dateadd(M, 3*number, CONVERT(date, CONVERT(varchar(5),@year)+'-1-1')),
    dateadd(D,-1,dateadd(M, 3*number+3, CONVERT(date, CONVERT(varchar(5),@year)+'-1-1'))),
    Number QuarterNo
from master..spt_values 
where type='p' 
and number between 1 and 4  

Du vil sandsynligvis bruge datoer, ikke datoklokkeslæt, ellers er intet i løbet af dagen på den sidste dag i kvartalet inkluderet i dit kvartal (f.eks.:2013-06-30 14:15)

For at gå den anden vej, brug datepart

select ((DATEPART(q,@date)+2) % 4)+1


  1. Skift farve på Google Chart-bjælke, når datatabelinput er fra JSON-data fra serveren

  2. Praktisk grænse for længden af ​​SQL-forespørgsel (specifikt MySQL)

  3. Sådan returneres kun numeriske værdier i SQL Server

  4. Oracle sql-typer over dblink