일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 첫주 및 마지막주 날짜 전체 포함
- KOSA
- 주소 좌표변환
- mysql
- group by max
- String 배열
- 2개 테이블
- update
- remote ip
- checkbox 값처리
- Oracle
- mysql trigger
- jquery selectbox change
- http https
- 한국소프트웨어산업협회
- eclipse hotdeploy
- extundelete
- 아이폰키보드
- ajax 동기방식처리
- 컴퓨터 드라이버
- 서브쿼리
- 접속ip
- partition by
- TM128
- map api v3
- String[]
- multipart
- ant path pattern
- ajax async
- 폐업자에 대한 업종등의 정보내역
Archives
- Today
- Total
하은양 믿음군 효실맘 호홍홍집s
PostgreSql 달력 만들기 쿼리(매달 첫주 및 마지막주 전체 포함하기) 본문
한번 만들어 봤슴...
달력쿼리를 찾다가 없어서 만들어 봄
매달 첫주 전체 날짜 및 마지막 주 전체 날짜가 포함되도록 짜봄.
WITH MONTH_INFO AS (
SELECT CONCAT('202305','01')::DATE AS FIRST_DATE
, EXTRACT(DOW FROM CONCAT('202305','01')::DATE) AS FIRST_WEEK_NUM
, (DATE_TRUNC('MONTH', CONCAT('202305','01')::DATE) + INTERVAL '1 MONTH' - INTERVAL '1 DAY')::DATE AS LAST_DATE
, EXTRACT(DOW FROM (DATE_TRUNC('MONTH', CONCAT('202305','01')::DATE) + INTERVAL '1 MONTH' - INTERVAL '1 DAY')::DATE) AS SECOND_WEEK_NUM
),
CAL_INFO AS (
SELECT A.DATES
, TO_CHAR(A.DATES, 'YYYYMMDD') AS YMD
, TO_CHAR(A.DATES, 'MM') AS MM
, TO_CHAR(A.DATES, 'DD') AS DD
, EXTRACT(DOW FROM A.DATES) AS WEEK_NUM
, CASE WHEN A.DATES = DATE_TRUNC('DAY', NOW()) THEN 'Y' END AS IS_TODAY
, CASE WHEN TO_CHAR(A.DATES, 'YYYYMM') = '202305' THEN 'Y' END AS IS_THIS_MONTH
FROM (SELECT GENERATE_SERIES((DATE_TRUNC('DAY', FIRST_DATE::DATE)::DATE - FIRST_WEEK_NUM::INTEGER), (DATE_TRUNC('DAY', LAST_DATE::DATE)::DATE + SECOND_WEEK_NUM::INTEGER),'1 DAY')::DATE AS DATES
FROM MONTH_INFO) A
)
SELECT * FROM CAL_INFO;