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
운영게시판
최근게시물
PostgreSQL Q&A 4763 게시물 읽기
No. 4763
해당 주의 시작날짜를 알고 싶습니다.
작성자
이승배
작성일
2003-06-20 18:00
조회수
1,828

예를 들어서

2003년 24째 주가 시작되는 날짜와 끝나는 날짜를 구하려고 합니다.

 

주별 통계를 내려고 하거든요.

 

 

x번째주 2003/04/01 ~ 2003/04/05

x번째주 2003/04/06 ~ 2003/04/12

x번째주 2003/04/13 ~ 2003/04/19

 

이런식으로 출력하려고 합니다.

 

해당 날짜가 몇주에 속하는지 알아내는 함수는 찾았는데

주의 시작 날짜와 끝 날짜를 찾는 함수는 찾을 수가 없군요.

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

PostgreSQL에서는 날짜형에 대해서 + - 연산이 가능합니다.

 

아래 함수는 옛날에 필요해서 만들어둔것인데,

아마 7.3.x 대에서는 timestamp 값에 대해서는 오른쪽 값이 interval 형일 경우에만 이 +, - 연산이 가능한지라, 일단 date형으로 형변환 하셔서 사용하셔야할겝니다.

 

* 특정날의 해당 주간에 있는 일요일을 구하는 함수

CREATE OR REPLACE FUNCTION "sunday" (date ) RETURNS date AS '

select $1 - to_char($1,''D'')::int + 1

' LANGUAGE 'SQL';

 

* 특정날의 해당 주간에 있는 토요일 구하는 함수

sunday + 6 하면 되겠지요.

 

* 특정 년도 몇번째 주간의 일요일 구하는 함수

CREATE OR REPLACE FUNCTION wwtosunday(int, int) RETURNS date AS '

select sunday(to_date(text($1) || ''-01-01'',''YYYY-MM-DD'') + (7 * ($2 - 1))) as sunday

' language 'SQL';

김상기(ioseph)님이 2003-06-21 16:29에 작성한 댓글입니다.
이 댓글은 2003-09-04 12:00에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
4766[샘] 테이블을 나눌지 말지... [2]
임유빈
2003-06-24
1436
4765제발도와주세요..흐흐흐
김기영
2003-06-23
1398
4764select count(*) 의 속도 문제 [3]
김한성
2003-06-23
4193
4767┕>답변 감사합니다.
김한성
2003-06-24 10:35:51
1487
4763해당 주의 시작날짜를 알고 싶습니다. [1]
이승배
2003-06-20
1828
4761자료입력문제 [1]
길동무
2003-06-19
1239
4760로우레벨 락에 대해서.. [1]
초본데염
2003-06-18
2031
4759cron을 이용한 작업에 대해.. [2]
초본데염
2003-06-16
2022
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다