Cómo obtener el nombre del día en SQL Server 2008

Posted by igmuss On viernes, 10 de septiembre de 2010 4 comentarios

Ingresar la siguiente consulta:

SELECT CASE when DATEPART(dw,getdate()) = 1
then 'domingo' when
DATEPART(dw,getdate()) = 2 then 'Lunes'
when DATEPART(dw,getdate()) = 3 then 'Martes'
when DATEPART(dw,getdate()) = 4 then 'Miercoles'
when DATEPART(dw,getdate()) = 5 then 'Jueves'
when DATEPART(dw,getdate()) = 6 then 'Viernes'
when DATEPART(dw,getdate()) = 7 then 'sabado'
END

4 comentarios:

PaiS dijo...

Creo que solo con el comando datename(weekday,getdate) mejor! :)

Unknown dijo...

Debo comentar que en la version de SQL 2008 (español) que tengo no funciona este comando y siempre me manda el día anterior, por decir select DATEPART(dw,'26-07-2012') me devuelve 4 cuando debe de ser 5 (Jueves).
Bueno debido a esto es que uso el siguiente comando SELECT DATENAME(dw, GETDATE()))

Si alguien sabe porque tengo este inconveniente por favor publicar.

Unknown dijo...
Este comentario ha sido eliminado por el autor.
Unknown dijo...

Tienes configuado que el primer día de la semana es Lunes por eso te devuelve 4, si deseas que te devuelva 5 debes configurar para que el primer día de la semana sea el Domingo.
Para ello debes usar
SET DATEFIRST 7 ;/* estableciendo q Domingo sea tu primer día de la semana. */

Ejemplo.
select DATEPART(dw,'26-07-2012');// 4
SET DATEFIRST 7 ; //
select DATEPART(dw,'26-07-2012');// 5


Publicar un comentario