250x250
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Websocket
- spring MVC(모델2)방식
- 토픽추출
- db
- 네이버뉴스
- RESFUL
- r
- 지마켓
- 코사인 유사도
- Python
- Topics
- word2vec
- 幼稚园杀手(유치원킬러)
- oracle
- tomoto
- 이력서
- (깃)git bash
- 크롤링
- Gmarket
- pytorch
- 자바
- 과학백과사전
- 파이썬
- 방식으로 텍스트
- java
- 게시판 만들기
- jsp 파일 설정
- test
- mysql
- lda
Archives
- Today
- Total
무회blog
ORACLE 월요일기준 연주차, 요일, 분기 계산 본문
-- 주차에 속한 일주일 구하기
SELECT '20220101',
TO_CHAR( TO_DATE('20220101','YYYYMMDD') ,'YYYY-IW') AS YW
, TO_CHAR( TO_DATE('20220101','YYYYMMDD') +( 1 - TO_CHAR(TO_DATE('20220101','YYYYMMDD') - 1, 'D') ), 'YYYY-MM-DD') AS START_DATE
, TO_CHAR( TO_DATE('20220101','YYYYMMDD') +( 1 + 6 - TO_CHAR(TO_DATE('20220101','YYYYMMDD') - 1, 'D') ), 'YYYY-MM-DD') AS END_DATE
FROM DUAL;
SELECT TO_CHAR( TO_DATE('20220101','YYYYMMDD') ,'YYYY-IW') AS YW FROM DUAL;
SELECT TO_CHAR( TO_DATE('20220101', 'RRRR-MM-DD'), 'iw' ) FROM DUAL
;
WITH ASD AS (
SELECT
TO_DATE('20221229', 'YYYYMMDD') AS 기준일
, TRUNC(TO_DATE('20221229', 'YYYYMMDD'), 'YY' ) AS 기준일_연초기화
, TRUNC(TO_DATE('20221229', 'YYYYMMDD'), 'MM' ) AS 기준일_월초기화
, TO_CHAR(TRUNC(TO_DATE('20221229', 'YYYYMMDD') ) , 'WW' ) AS 일요일기준_연주차
, TO_CHAR(TRUNC(TO_DATE('20221229', 'YYYYMMDD') ) , 'IW' ) AS 월요일기준_연주차
, LEVEL AS NO
, TO_CHAR(TRUNC(TO_DATE('20220101', 'YYYYMMDD'), 'YY' ) + LEVEL-1, 'YYYY') AS NEW_연
, TO_CHAR(TRUNC(TO_DATE('20220101', 'YYYYMMDD'), 'YY' ) + LEVEL-1, 'YYYY-MM') AS NEW_월
, TO_CHAR(TRUNC(TO_DATE('20220101', 'YYYYMMDD'), 'YY' ) + LEVEL-1, 'YYYYMMDD') AS NEW_일
, TO_DATE(TO_CHAR(TRUNC(TO_DATE('20220101', 'YYYYMMDD'), 'YY' ) + LEVEL-1, 'YYYYMMDD')) AS NEW_일_TODATE
, TO_CHAR(
TO_DATE(TO_CHAR(TRUNC(TO_DATE('20220101', 'YYYYMMDD'), 'YY' ) + LEVEL-1, 'YYYYMMDD') ) -- NEW_DAY
, 'DY') AS NEW_요일
, TO_CHAR(
TO_DATE(TO_CHAR(TRUNC(TO_DATE('20220101', 'YYYYMMDD'), 'YY' ) + LEVEL-1, 'YYYYMMDD') ) -- NEW_DAY
, 'D') AS NEW_요일_숫자 --결과 : 3 (1:일, 2:월, 3:화, 4:수, 5:목, 6:금, 7:토)
FROM DUAL
WHERE 1=1 CONNECT BY LEVEL <= 365*5
)
SELECT
'A' AS A
, NO
, NEW_연
, NEW_월
, NEW_일
, TO_CHAR(TRUNC(TO_DATE(NEW_일 , 'YYYYMMDD') ) , 'IW' ) AS NEW_연주차 -- 월요일기준
, TO_CHAR(NEW_일_TODATE,'W') AS NEW_월주차
, TO_CHAR(NEW_일_TODATE, 'Q') AS 분기
, TO_CHAR(NEW_일_TODATE, 'Q')||'/4' AS 분기점
, CASE WHEN TO_CHAR(NEW_일_TODATE, 'Q') < 3 THEN '상반기' ELSE '후반기' END AS 상반기여부
, NEW_요일
-- , NEW_요일_숫자 --결과 : 3 (1:일, 2:월, 3:화, 4:수, 5:목, 6:금, 7:토) 토일 71
, CASE WHEN NEW_요일_숫자 IN (7,1) THEN '1' ELSE '0' END AS 주말여부 -- 주말 :1 , 평일 : 0
FROM ASD
;
------------------------------------------------------------------------------------------
'DB' 카테고리의 다른 글
ORACLE_공휴일 입력 (0) | 2022.12.29 |
---|---|
ORACLE 요일 , 분기 체크 , 월주차 , 한글설정 (0) | 2022.12.29 |
PL(프로시저/Procedure) (0) | 2022.04.17 |
오라클 DB 조인이란:, LEFT JOIN,OUTER JOIN,INNER JOIN, NATURAL JOIN , USING (0) | 2021.07.04 |
DB(오라클 기준) 인덱스란 (0) | 2021.07.04 |
Comments