2011-03-28 23 views
9

Utilizzo di SQL Server 2005:SQL - Get numerica giorno del mese/trimestre

Come posso ottenere il giorno numerico del mese e giorno del trimestre in una query?

DECLARE @DATE DATETIME 
SET @DATE = GETDATE() 

SELECT DATEPART(dy, @DATE) AS DayOfYear 
    --, <something> AS DayOfQuarter 
    --, <something> AS DayOfMonth 
    , DATEPART(dw, @DATE) AS DayOfWeek 

Grazie in anticipo!

+0

+1 Ho appena imparato alcuni nuovi trucchi che funzionano con le date attraverso la risposta di Cade Roux a causa della tua domanda, grazie, anche se ne ho risposto a metà. –

risposta

29
DECLARE @DATE DATETIME 
SET @DATE = GETDATE() 

SELECT DATEPART(dy, @DATE) AS DayOfYear 
    , DATEDIFF(d, DATEADD(qq, DATEDIFF(qq, 0, @DATE), 0), @DATE) + 1 AS DayOfQuarter 
    , DAY(@Date) AS DayOfMonth 
    , DATEPART(dw, @DATE) AS DayOfWeek 
+0

Fatto magistralmente! Grazie. –

+0

+1 Bel calcolo per DayOfQuarter! –

0

Per quanto riguarda il giorno del trimestre, questo richiederà un po 'di ulteriori indagini dalla mia parte. Nonostante, immagino che per il giorno del mese, questo sarebbe semplicemente la data stessa:

select DATEPART(D, @DATE) 
0

SELEZIONA DATEPART (anno '12: 10: 30,123') , DATEPART (mese, '12: 10: 30.123 ') , DATEPART (giorno, '12: 10: 30.123') , DATEPART (dayofyear, '12: 10: 30.123 ') , DATEPART (giorno della settimana, '12: 10: 30.123');