SET DATEFIRST (Transact-SQL)

Establece el primer día de la semana en un número del 1 al 7.

Para obtener información general sobre todos los tipos de datos y funciones de fecha y hora de Transact-SQL, consulte Funciones de fecha y hora (Transact-SQL). Para obtener información y ejemplos que son comunes a los tipos de datos y funciones de fecha y hora, consulte Usar datos de fecha y hora.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL (Transact-SQL)

Sintaxis

SET DATEFIRST { number | @number_var } 

Argumentos

  • number | **@**number_var
    Es un entero que indica el primer día de la semana. Puede ser uno de los siguientes valores.

    Valor

    Primer día de la semana:

    1

    Lunes

    2

    Martes

    3

    Miércoles

    4

    Jueves

    5

    Viernes

    6

    Sábado

    7 (predeterminado, inglés de EE.UU.)

    Domingo

Comentarios

Para ver el valor actual de SET DATEFIRST, use la función @@DATEFIRST.

La opción SET DATEFIRST se establece en tiempo de ejecución, no en tiempo de análisis.

Permisos

Debe pertenecer a la función public.

Ejemplos

En el ejemplo siguiente se muestra el día de la semana correspondiente a un valor de fecha y se muestra el efecto de cambiar el valor de DATEFIRST.

-- SET DATEFIRST to U.S. English default value of 7.
SET DATEFIRST 7;

SELECT CAST('1999-1-1' AS datetime2) AS SelectDate
    ,DATEPART(dw, '1999-1-1') AS DayOfWeek;
-- January 1, 1999 is a Friday. Because the U.S. English default 
-- specifies Sunday as the first day of the week, DATEPART of 1999-1-1
-- (Friday) yields a value of 6, because Friday is the sixth day of the 
-- week when you start with Sunday as day 1.

SET DATEFIRST 3;
-- Because Wednesday is now considered the first day of the week,
-- DATEPART now shows that 1999-1-1 (a Friday) is the third day of the 
-- week. The following DATEPART function should return a value of 3.
SELECT CAST('1999-1-1' AS datetime2) AS SelectDate
    ,DATEPART(dw, '1999-1-1') AS DayOfWeek;
GO

Vea también

Referencia