본문 바로가기

개발 관련 기록과 정리/SQL

(5)
오라클 정규식을 통한 전화번호 가공 SELECT TRCNUM FROM SOTHAD WHERE REGEXP_LIKE(TRCNUM, '[0-9]{4}-[0-9]{4}-[0-9]{4}') REGEXP_LIKE 를 사용해서 정규식을 이용가능 이를 통해 조회 시 가공
오라클 삭제된 데이터 찾기 SELECT * FROM [테이블명] AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '10' MINUTE) 삭제하면 안되는 데이터 삭제 시 찾기 위한 쿼리
오라클 UPDATE SELECT 정리 --UPDATE문 UPDATE 테이블명 SET 컬럼1 = 변경할 값, 컬럼2 = 변경할 값 ..... WHERE 조건; 기존의 업데이트 쿼리 UPDATE JWMS.SOTHAD A SET (A.REGUSR, A.REGDAT, A.MODUSR, A.MODDAT) = (SELECT B.REGUSR, B.REGDAT, B.MODUSR, B.MODDAT FROM SOTBDY B WHERE A.TRCNUM=B.TRCNUM AND ROWNUM = 1) WHERE OUTDAT >= '2023-06-01'; 기존의 업데이트에서 SET 부분을 SELECT 문으로 변경해서 처리
공휴일 및 주말 처리 INSERT INTO CMPHOL (CORPCD ,PLACCD ,CMPDAT ,HOLGBN) SELECT * FROM ( WITH SUB_DATES AS ( SELECT TM.DATES -- 날짜 ,TM.DAYS -- 요일 ,CASE WHEN TM.DAYS = '1' OR TM.DAYS = '7' THEN 'Y' ELSE 'N' END DAYGBN -- 휴일구분 FROM (SELECT TO_CHAR(START_DT, 'YYYY-MM-DD') DATES -- 날짜 ,TO_CHAR(START_DT, 'D') DAYS -- 요일 FROM (SELECT TO_DATE(TO_CHAR(TO_DATE('20230101','YYYYMMDD') + (LEVEL-1), 'YYYY-MM-DD')) AS START_DT --..
날짜 처리 SELECT TM.DATES -- 날짜 ,TM.DAYS -- 요일 ,CASE WHEN TM.DAYS = '1' OR TM.DAYS = '7' THEN 'Y' ELSE 'N' END DAYGBN -- 휴일구분 FROM (SELECT TO_CHAR(START_DT, 'YYYY-MM-DD') DATES -- 날짜 ,TO_CHAR(START_DT, 'D') DAYS -- 요일 FROM (SELECT TO_DATE(TO_CHAR(TO_DATE('20230101','YYYYMMDD') + (LEVEL-1), 'YYYY-MM-DD')) AS START_DT -- 한해날짜 FROM DUAL CONNECT BY LEVEL