2014-10-04 5 views
1

날짜를 월요일로 설정하고 월요일부터 시작하는 '요일'로 결과를 정렬하려고합니다. 불행히도 DATEFIRST 함수가 아무 것도하지 않고 금요일이 첫 번째 요일이라고 생각하는 것처럼 보입니다. 내가 DATEFIRST 또는 저 월요일로 시작하는 요일을 정렬 할 수 있도록 다른 기능을 사용하는 방법을SQL Server에서 SET DATEFIRST 함수를 올바르게 사용하는 방법은 무엇입니까?

Lynda Baker 1989-09-15 Friday 
Tim Stewart 2000-09-15 Friday 
John Puckett 1989-09-15 Friday 
Maria Lynn Kessler 2003-09-15 Monday 
Leo Dubray 2001-09-15 Saturday 
Jamie Zipay 2001-01-07 Sunday 
Michele Malott 2005-09-15 Thursday 
Robin Schwartz 1999-09-15 Wednesday 

누구나 알고

SET DATEFIRST 1; 

SELECT FirstName, LastName, HireDate, datename(dw,HireDate) AS 'Day of the Week' 
FROM Faculty 
ORDER BY datename(dw,HireDate); 

위의 코드는 다음과 같은 출력을 생성?

답변

3

DATEPART이 아닌 DATENAME으로 주문해야합니다.

DATEPARTDATEFIRST 설정에 따라 정수를 반환합니다. DATENAME은 요일이있는 문자열을 반환합니다.

'월요일'문자열은 알파벳순으로 정렬되어 있으므로 항상 '금요일'다음에 올 것입니다.

+0

Worked. 고맙습니다. – MrPickles

관련 문제