2011-03-28 55 views
9

Uso de SQL Server 2005:SQL - Obtener Día numérica de mes/trimestre

¿Cómo puedo conseguir el día numérica del mes y día del trimestre en una consulta?

DECLARE @DATE DATETIME 
SET @DATE = GETDATE() 

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

¡Gracias de antemano!

+0

+1 Acabo de aprender algunos trucos nuevos trabajando con las fechas a través de la respuesta de Cade Roux debido a su pregunta, gracias, aunque he respondido la mitad. –

Respuesta

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

¡Hecho magistralmente! Gracias. –

+0

+1 ¡Buen cálculo para DayOfQuarter! –

0

En cuanto al día del trimestre, esto exigirá un poco más de investigación por mi parte. A pesar de, supongo que para el día del mes, esto simplemente sería la misma fecha:

select DATEPART(D, @DATE) 
0

SELECT DATEPART (año, '12: 10: 30.123') , DATEPART (mes, '12: 10: 30.123 ') , DATEPART (día, '12: 10: 30.123') , DATEPART (día de un año, '12: 10: 30.123 ') , DATEPART (día de la semana, '12: 10: 30.123');

Cuestiones relacionadas