sql >> Database >  >> RDS >> Sqlserver

Ontvang Quarters StartDate en EndDate van het jaar

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  

U wilt waarschijnlijk datums gebruiken, geen datetimes, anders wordt er niets tijdens de dag van de laatste dag van het kwartaal in uw kwartaal opgenomen (bijv. 30-06-2013 14:15)

Om de andere kant op te gaan, gebruik datepart

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


  1. SQL Server-fout bij updateopdracht - Er is een ernstige fout opgetreden bij de huidige opdracht

  2. MySQL UPDATE met IF-voorwaarde

  3. echo in omgekeerde volgorde van mysql_fetch_assoc()

  4. De verschillen tussen INT en UUID in MySQL