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 9528 게시물 읽기
No. 9528
날짜 출력 문의드립니다.
작성자
오정규(jk9477)
작성일
2015-03-05 14:19ⓒ
2015-03-05 15:09ⓜ
조회수
10,368

with recursive t (dw , week) as

( select 1, ''||''

union all

--(select dw+1 from (select week||2 from t) t)

select dw+1 , generate_series(date_trunc('week', '2015-01-01'::timestamp )-interval '1 days'

,date_trunc('week', '2016-01-01'::timestamp )

,'1 week')||'.000' AS week from t

) select dw, week from t limit 53

 

이게 쿼리 인데요. 현재 저상태로 출력을하면 아래 형식대로 출력이 됩니다.

아래 dw가 integer인데 계속 동일하게 1씩만 증가해서 2만계속 찍네요..

저것 1씩증가해서 53까지 찍을수있는 방법있나요

 

dw week

1 ""

2 "2014-12-28 00:00:00.000"

2 "2015-01-04 00:00:00.000"

2 "2015-01-11 00:00:00.000"

2 "2015-01-18 00:00:00.000"

2 "2015-01-25 00:00:00.000"

2 "2015-02-01 00:00:00.000"

2 "2015-02-08 00:00:00.000"

2 "2015-02-15 00:00:00.000"

2 "2015-02-22 00:00:00.000"

2 "2015-03-01 00:00:00.000"

2 "2015-03-08 00:00:00.000"

2 "2015-03-15 00:00:00.000"

2 "2015-03-22 00:00:00.000"

2 "2015-03-29 00:00:00.000"

2 "2015-04-05 00:00:00.000"

2 "2015-04-12 00:00:00.000"

2 "2015-04-19 00:00:00.000"

2 "2015-04-26 00:00:00.000"

2 "2015-05-03 00:00:00.000"

2 "2015-05-10 00:00:00.000"

2 "2015-05-17 00:00:00.000"

2 "2015-05-24 00:00:00.000"

2 "2015-05-31 00:00:00.000"

2 "2015-06-07 00:00:00.000"

2 "2015-06-14 00:00:00.000"

2 "2015-06-21 00:00:00.000"

2 "2015-06-28 00:00:00.000"

2 "2015-07-05 00:00:00.000"

2 "2015-07-12 00:00:00.000"

2 "2015-07-19 00:00:00.000"

2 "2015-07-26 00:00:00.000"

2 "2015-08-02 00:00:00.000"

2 "2015-08-09 00:00:00.000"

2 "2015-08-16 00:00:00.000"

2 "2015-08-23 00:00:00.000"

2 "2015-08-30 00:00:00.000"

2 "2015-09-06 00:00:00.000"

2 "2015-09-13 00:00:00.000"

2 "2015-09-20 00:00:00.000"

2 "2015-09-27 00:00:00.000"

2 "2015-10-04 00:00:00.000"

2 "2015-10-11 00:00:00.000"

2 "2015-10-18 00:00:00.000"

2 "2015-10-25 00:00:00.000"

2 "2015-11-01 00:00:00.000"

2 "2015-11-08 00:00:00.000"

2 "2015-11-15 00:00:00.000"

2 "2015-11-22 00:00:00.000"

2 "2015-11-29 00:00:00.000"

2 "2015-12-06 00:00:00.000"

2 "2015-12-13 00:00:00.000"

2 "2015-12-20 00:00:00.000"

2 "2015-12-27 00:00:00.000"

 

 

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

단순하게 결과만 보고자 한다면 아래와 같이 바꿔보세요

 

with recursive t (dw , week) as

( select 1, ''||''

union all

--(select dw+1 from (select week||2 from t) t)

select dw+generate_series(1,52) , generate_series(date_trunc('week', '2015-01-01'::timestamp )-interval '1 days'

,date_trunc('week', '2016-01-01'::timestamp )

,'1 week')||'.000' AS week from t

) select dw, week from t limit 53;

김주왕(kimjuking)님이 2015-03-05 15:24에 작성한 댓글입니다.

아...감사드립니다!! 알려주신대로 쿼리를날렸는데요.

첫번째값이 제가 일부러 null처리가되어서 1번값에 2014-12-28 껄 땡겨서 넣을순없나요..

1 ""

2 "2014-12-28 00:00:00.000"

3 "2015-01-04 00:00:00.000"

4 "2015-01-11 00:00:00.000"

 

오정규(jk9477)님이 2015-03-05 15:27에 작성한 댓글입니다.

with구문을 무슨 연유로 쓰려는지 모르겠는데요

select  generate_series(1,53),generate_series(date_trunc('week', '2015-01-01'::timestamp )-interval '1 days',date_trunc('week', '2016-01-01'::timestamp ),'1 week')||'.000' ;

단순히 결과만 원하시는데로 보자면 이렇게 쓰시면 되지 않나여?

김주왕(kimjuking)님이 2015-03-05 15:38에 작성한 댓글입니다.

아..감사합니다..제가너무어렵게생각했네요ㅠㅠ감사드립니다.

오정규(jk9477)님이 2015-03-05 15:42에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9531다른 컴퓨터에서 접속하려면? [1]
전상도
2015-03-17
9886
9530한국 PostgreSQL 사용자 모임을 가지려고 합니다. [8]
김상기
2015-03-16
11740
9529auth_delay [1]
김광호
2015-03-09
10962
9528날짜 출력 문의드립니다. [4]
오정규
2015-03-05
10368
9527질문 유저권한? 관련 질문입니다. [2]
이재경
2015-03-03
11360
9526마스터 슬레이브 FAIL OVER [4]
카레씨
2015-03-03
12007
9525대용량 insert into select 관련하여 [1]
황규영
2015-03-02
10396
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.055초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다