SQL 4 Oracle 오라클용 sql 실무

SQL4Oracle 64

주민번호오류 체크

2011-07-28 19:28:30 SQL 4 Oracle 오라클용 sql 실무 ▒ 주민번호오류 체크 select 주민번호, translate(주민번호, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ') , translate(주민번호, '0123456789'||주민번호, '0123456789'), (case when MOD(11 - MOD( substr(주민번호,1,1) * 2 + substr(주민번호,2,1) * 3 + substr(주민번호,3,1) * 4 + substr(주민번호,4,1) * 5 + substr(주민번호,5,1) * 6 + substr(주민번호,6,1) * 7 + substr(주민번호,7,1) * 8 + sub..

SQL4Oracle 2023.03.03

병렬처리

2011-07-28 19:28:04 SQL 4 Oracle 오라클용 sql 실무 ▒ 병렬처리 대량작업시 혼자서 자원을 독점하자.. 민패가 될수도 있음^^ 1. 병렬처리 시작을 위한 선언문 alter session enable parallel dml (Proc==> EXEC SQL ALTER SESSION ENABLE PARALLEL DML;) 2. 병렬처리를 위한 DML문(프로세스 갯수는 8 ) SELECT /*+ PARALLEL(목적_Table,8) */ * FROM 목적_Table where ~~ UPDATE /*+ PARALLEL(목적_Table,8) */ 목적_Table SET ~~ INSERT /*+ PARALLEL(목적_Table,8) */ * INTO 목적_Table ~~ 3. 병렬처리 종료..

SQL4Oracle 2023.03.03

주소 동까지 분리하기

2011-07-28 19:27:14 SQL 4 Oracle 오라클용 sql 실무 ▒ 주소 동까지 분리하기 대구광역시 동구 지묘동 337-9999 (33/3) 우방타운 9999 동 9999 호 서울특별시 강남구 도곡동 951-9999 (26/3) 전라남도 강진군 강진읍 평동리 177-9999 (15) select 전체주소, trim( case when Instr(전체주소,'동 ')=0 then substr(전체주소,1,Instr(전체주소,'리 ')) else substr(전체주소,1,Instr(전체주소,'동 ')) end) 동또는리_까지자르기, trim( case when Instr(전체주소,'동 ')=0 then substr(전체주소,Instr(전체주소,'리 ')+1,1000) else substr(전체..

SQL4Oracle 2023.03.03

통계정보 추출

2011-07-28 19:26:37 SQL 4 Oracle 오라클용 sql 실무 ▒ 고객 통계정보 추출1 SELECT 고객ID,고객명, 취득일자, 점수, MAX(점수) OVER(PARTITION BY 고객ID) 고객의최대점수, MIN(점수) OVER(PARTITION BY 고객ID) 고객의최소점수, SUM(점수) OVER(PARTITION BY 고객ID) 고객의합계점수 FROM 목적_Table where 고객상태 = '활동중' ▒ 고객 통계정보 추출2 SELECT 고객ID,고객명, MAX(점수) 고객의최대점수, MIN(점수) 고객의최소점수, SUM(점수) 고객의합계점수 FROM 목적_Table where 고객상태 = '활동중' GROUP BY 고객ID,고객명

SQL4Oracle 2023.03.03

Oracle 테이블 정보 추출

2011-07-28 17:36:30 SQL 4 Oracle 오라클용 sql 실무 ▒ Oracle 테이블 정보 추출 ▒ 테이블 명세서 추출 SELECT a.TABLE_NAME, c.COMMENTS, a.COLUMN_NAME, b.COMMENTS, a.DATA_TYPE, a.DATA_LENGTH, a.NULLABLE FROM USER_TAB_COLUMNS a, USER_COL_COMMENTS b, USER_TAB_COMMENTS c where a.TABLE_NAME=b.TABLE_NAME and b.TABLE_NAME=c.TABLE_NAME and a.COLUMN_NAME=b.COLUMN_NAME order by a.TABLE_NAME, a.COLUMN_ID ▒특정 컬럼명이 있는건 추출 SELECT a.TA..

SQL4Oracle 2023.03.03

인사 근속기간 추출

2011-07-28 17:30:55 SQL 4 Oracle 오라클용 sql 실무 ▒ 인사 근속기간 추출 최근 3년 퇴직자 중 총 근속기간이 1년 이상인 자 단, 중도에 입퇴사 반복된 자는 공백기간이 1개월 미만인 경우 계약기간이 연속된 것으로 계산하고, 공백기간이 1개월 이상인 경우 각각 1인으로 추출 ---------------------------------------------------------------- select * from ( select 이름, 주민번호, CMY 입사일, RTR 퇴사일, trunc(months_between( to_date( RTR,'yyyymmdd') , to_date(CMY,'yyyymmdd') ))+1 근속월 from ( select 주민번호,이름,min(입사일자..

SQL4Oracle 2023.03.03

그룹별 균등하게 금액 추출

2011-07-28 16:43:06 SQL 4 Oracle 오라클용 sql 실무 ▒ 그룹별 균등하게 금액 5억씩 추출 하기 SELECT B1.금액, B1.그룹필드명, B1.Key_필드명 FROM Table_NM B1, ( SELECT 그룹필드명, Key_필드명, CNT, sum_bal , random , ratio , ratio_sum from ( SELECT 그룹필드명, Key_필드명 , CNT , sum_bal , random , ratio , sum ( sum_bal ) over ( partition by 그룹필드명 order by 그룹필드명, random rows between unbounded preceding and current row) ratio_sum from ( SELECT B.그룹필드..

SQL4Oracle 2023.03.03