다음을 통해 공유


SET DATEFIRST(Transact-SQL)

일주일의 시작 요일을 1부터 7까지의 숫자로 설정합니다.

모든 Transact-SQL 날짜/시간 데이터 형식 및 함수에 대한 개요는 날짜 및 시간 데이터 형식 및 함수(Transact-SQL)를 참조하십시오.

적용 대상: SQL Server(SQL Server 2008 - current version), Windows Azure SQL 데이터베이스(최초 릴리스 - 현재 릴리스)

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

구문

SET DATEFIRST { number | @number_var } 

인수

  • number | **@**number_var
    일주일의 시작 요일을 나타내는 정수입니다. 다음 값 중 하나를 사용할 수 있습니다.

    일주일의 시작 요일

    1

    월요일

    2

    화요일

    3

    수요일

    4

    목요일

    5

    금요일

    6

    토요일

    7(기본값, 미국 영어)

    일요일

주의

SET DATEFIRST의 현재 설정을 확인하려면 @@DATEFIRST 함수를 사용합니다.

SET DATEFIRST 옵션은 실행 시간 또는 런타임에 설정되며, 구문 분석 시에는 설정되지 않습니다.

SET DATEFIRST를 지정해도 DATEDIFF에는 영향을 주지 않습니다. DATEDIFF는 항상 일요일을 한 주의 첫 날로 사용하여 결정적 함수가 되도록 합니다.

사용 권한

public 역할의 멤버 자격이 필요합니다.

다음 예에서는 날짜 값에 대해 요일을 표시하고 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

참고 항목

참조

SET 문(Transact-SQL)