주는 날짜의 주 번호를 알아야합니다. 예를 들면, 1 월 1 일 = 1 주일은 1 월 1 일 - 2 주일은 2 ..이 중 하나는 pls를 도와줍니다.SQL Server 날짜 기능
답변
당신은 이런 식으로 뭔가를 시도해야합니다 :
DECLARE @Dt datetime
SELECT @Dt='02-21-2008'
SELECT DATEPART(wk, @Dt)
이 원하는 weeknumbers를 반환해야합니다.
SQL Server는 1 월 1 일부터 계산을 시작합니다. ISO weeknumbers를 반환하려면 좀 더 스크립팅을해야합니다. 로빈의 의견에 대응 DATEPART (Transact-SQL)
: http://www.rmjcs.com/SQLServer/TSQLFunctions/ISOWeekNumber/tabid/207/Default.aspx
MSDN을 : 좋은 하우투이 사이트에 나와있는
하지만 난, 같은 방법으로 필요로하는 1월 1일 에서 7 , 1 월 8 일부터 17 일까지 1을 반환해야합니다.이 숫자는 과 같습니다. 내 인상을 받았습니다.
그런 경우 다음과 같이 작성할 수도 있습니다.
select (datepart(dy, '2011-01-01')/7) + 1
--returns 1
select (datepart(dy, '2011-01-02')/7) + 1
--returns 1
select (datepart(dy, '2011-12-31')/7) + 1
--returns 53
나는 나는 단지 순간에 사용할 수있는 SQL 2005 인스턴스를 가지고로 SQL 서버 2008는 iso_week
및 wk
매개 변수로 응답 방법을 모르겠어요.
'datepart (iso_week, @dt)'는 링크에서'udf_GetISOWeekNumberFromDate'와 동일합니다. –
이것은 작동하지만, 나는 이런 식으로 필요 없다. 2011 년 1 월 1 일을 통과하면 1을 반환하고, 2011 년 2 월에는 2를 반환합니다. 하지만 그런 식으로, 1 월 7 일부터, 그것은 1 월 8 일에서 17 일까지 2를 반환해야합니다 .. 내 인상을 가지고 희망을 가져야한다. –
@Mikael 고마워, 그거에 대해 몰랐어. . SQL Server 2008 이후 구현 된 것을 볼 수 있습니다. –
원하는대로 할 수 있습니까?
declare @T table (dt datetime)
insert into @T values
('2010-12-31'),
('2011-01-01'),
('2011-01-02'),
('2011-01-03'),
('2011-01-04'),
('2011-01-05'),
('2011-01-06'),
('2011-01-07'),
('2011-01-08')
select
dt,
(datediff(d, dateadd(year, datediff(year, 0, dt), 0), dt)/7)+1
from @T
결과
dt
----------------------- -----------
2010-12-31 00:00:00.000 53
2011-01-01 00:00:00.000 1
2011-01-02 00:00:00.000 1
2011-01-03 00:00:00.000 1
2011-01-04 00:00:00.000 1
2011-01-05 00:00:00.000 1
2011-01-06 00:00:00.000 1
2011-01-07 00:00:00.000 1
2011-01-08 00:00:00.000 2
- 1. SQL Server 카운트 기능
- 2. 검색 기능, SQL Server
- 3. SQL Server 날짜 오류
- 4. SQL Server 날짜 쿼리
- 5. SQL Server 사용자 이름 기능
- 6. 데이터베이스 기능 (SQL Server 2008)
- 7. SQL Server .NET 기능 문제
- 8. 날짜 필터가있는 SQL Server 쿼리
- 9. SQL Server 2005의 날짜 차이
- 10. 오라클의 날짜 기능
- 11. 복제 된 문자를 제거하는 SQL Server 기능
- 12. SQL Server 2008 R2의 개발자를위한 새로운 기능
- 13. SQL Server CLR 기능 제한 시간을 설정하십시오.
- 14. 내가 SQL Server 2008을 사용하고 기능
- 15. 일련 번호를 생성하는 SQL Server 기능
- 16. SQL Server 로깅/사용자 추적 기능
- 17. 캐싱 기능 SQL Server 2000 결과
- 18. SQL Server 2008의 릴리안 날짜 함수
- 19. SQL Server 2008 트랜잭션 로그 : 날짜/시간
- 20. SQL Server to Oracle | 날짜 형식 오류
- 21. SQL Server 기본 날짜 시간 스탬프?
- 22. SQL Server 2005의 고정밀 날짜/시간 스탬프
- 23. 마지막으로 수정 된 SQL Server 행 날짜
- 24. SQL Server 2008에서 잘못된 날짜 찾기
- 25. SQL Server 2005에서 시간이없는 날짜 값 선택
- 26. 순차 날짜 데이터를 그룹화하는 SQL Server 쿼리
- 27. SQL Server 비표준 날짜 기반 히스토그램
- 28. SQL Server 2008에서 (날짜 - 시간 델타) 구현
- 29. Zend_Db_Adapter_Sqlsrv 삽입 날짜 SQL Server 2008의
- 30. SQL Server 날짜 형식 인도에서 미국
체크 [FiscalWeek (http://www.sqlteam.com/article/returning-a-week-number-for-any-given-date-and-starting -fiscal-month) 기능이 링크 된 [페이지] (http://www.sqlteam.com/article/returning-a-week-number-for-any-given-date-and-starting-fiscal-month)에서 작동합니다. –