database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 6896 게시물 읽기
No. 6896
기간내에 Week 수 구하는 함수
작성자
미스터 양
작성일
2015-03-24 13:23
조회수
5,341

with tmp as (

select idx = 0

union all

select idx = idx + 1 from tmp

where idx < 30 )

select

dw = CAST(dw as varchar) + '주차'

, startWeek = DATEADD(dd, -1 * DATEPART(DW, MIN(dt)) + 1, MIN(dt) )

, endWeek = DATEADD(dd, 6, DATEADD(dd, -1 * DATEPART(DW, MIN(dt)) + 1, MIN(dt) ))

from (

select

idx

, dt = DATEADD(DD, idx, '20150301')

, dw = datepart(WW, DATEADD(DD, idx, '20150301'))

from tmp

) q

group by dw

option (maxrecursion 0) ;

 

위 문장은 이곳에서 찾은 주별 날짜를 수하는 문장입니다.

 

제가 하고자 하는것은 두날짜를 Argument 로 기간내에 주의 수를 구하는 DB 함수를 만들고 싶습니다.

MS-SQL 은 익숙치 않을뿐더러, With tmp as {... 로 되어있는 경우를 처음ㅈ 접해서 감이 안잡히네요

위문장을 Cursor 로 선언하여 INTO 값을 Count 하여 Return 하면 될듯한데 도무지 감이 안잡히네요.

 

두 기간사이의 주의 수를 구하는 다른 방법이나 함수를 알려주시면 고맙겠습니다.

 

감사합니다.

이 글에 대한 댓글이 총 2건 있습니다.

SELECT DATEDIFF( WW, '2015-03-01', '2015-06-01'' );

우욱님이 2015-03-24 15:58에 작성한 댓글입니다. Edit

감사합니다.

이렇게 간단할 수가~~

미스터 양님이 2015-03-24 16:17에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6899ODBC로 비주얼베이직 연동 시키는 법 질문입니다~ㅠ [1]
어어렁
2015-03-31
5690
6898dblink 연결 후 insert 문제 [2]
박창수
2015-03-27
12900
6897소유자 및 스키마 변경 문의드립니다. [1]
쿠쿠쿠
2015-03-25
5509
6896기간내에 Week 수 구하는 함수 [2]
미스터 양
2015-03-24
5341
6895중복된 컬럼의 값은 한 개만 나오게 하고싶어요 [2]
궁그미
2015-03-18
5157
6894MS SQL 프로시저 실행시 오류 현상
신상우
2015-03-17
6585
6893Procedure 실행시 속도 저하 해결법? [2]
박창수
2015-03-17
11032
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.049초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다