참조 : http://starlandm.blogspot.jp/2010/09/oracle-%EB%9E%9C%EB%8D%A4%EA%B0%92-%EB%B0%9C%EC%83%9D%EC%8B%9C%ED%82%A4%EA%B8%B0.html SELECT ROUND(DBMS_RANDOM.VALUE(1,17),0) FROM DUAL;
[월:] 2019 11월
오라클 정규식 regexp_replace
정규식 문자 변형 select regexp_replace('가나다라12345647890', '[0-9]', '')from dual; ==> 결과값 '가나다라'
테이블 칼럼 추가 수정 삭제 스크립트
1. 컬럼 추가 alter table 테이블 add(필드 number(10)); 2. 컬럼명 변경 alter table 테이블 rename column 현재이름 to 변경이름; 3.데이터 타입 변경 alter table 테이블 modify(필드명 varchar(10)); 4.컬럼삭제 alter table 테이블 drop(필드);
오라클 SELECT 엑셀 변환 후 엑셀에서 개행되어 보이도록 처리하기
REGEXP_REPLACE( REGEXP_REPLACE( '어쩌구저쩌구', '\\n', CHR(10) ), '\\r', CHR(13)) n과 r이 바뀌었을지도 모름. ㅡㅡㅋ
ROW_NUMBER() OVER(PARTITION BY 칼럼1 ORDER BY 칼럼1)
SELECT 'A' d, 1 a, 2 b, 3 c FROM dual UNION ALL SELECT 'B' d, 4 a, 5 b, 6 c FROM dual UNION ALL SELECT 'B' d, 7 a, 8 b, 9 c FROM dual UNION ALL SELECT 'C' d, 0 a, 1 b, 2 c FROM dual UNION ALL SELECT 'C' d, … 계속 읽기 ROW_NUMBER() OVER(PARTITION BY 칼럼1 ORDER BY 칼럼1)
WM_CONCAT보다 속도가 좋은 LISTAGG
참고사이트 : http://krespo.net/195 11g에서 가능 간단한 예 SELECT DEPTNO , LISTAGG(NAME, ',') WITHIN GROUP (ORDER BY NAME) AS NAME FROM TEST_DB WHERE DEPTNO = 1 GROUP BY DEPTNO; 데이터가 적을때는 문제 없었지만, 데이터가 많아지니 WM_CONCAT에서 속도를 다 잡아 먹고 있었다. 아래처럼 LISTAGG로 바꾸니 속도가 많이 빨라졌다. SELECT B.HICODE, B.HINAME, A.MCODE, A.MNAME, A.BUSINESSNUMBER, A.PURCHASETYPE , LISTAGG(DECODE(C.DDCFLAG,'I',C.ACQUIER,''),',') WITHIN GROUP … 계속 읽기 WM_CONCAT보다 속도가 좋은 LISTAGG
주로 쓰는 힌트
아래와 같은 힌트들이 주로 사용된다. /*+ INDEX(A MAN_PK) */ /*+ ORDERED USE_NL(A, B, C, D, F) INDEX(B MAN_IX1) */ /*+ FULL(A) PARALLEL(A,4)*/ /*+ LEADING(A B) INDEX(A MAN_PK) INDEX(B CAR_PK) */ A B테이블을 우선으로 선회하고 인덱스를 태운다.
오라클 초성검색 함수
function fn_korinitialkeyword( str in varchar2) return varchar2 is returnStr varchar2(100); cnt number := 0; tmpStr varchar2(10); begin if str is null then return ''; end if; cnt := length(str); for i in 1 .. cnt loop tmpStr := substr(str,i,1); returnStr := returnStr || case when tmpStr < 'ㄱ' then substr(tmpStr, 1, 1) when ascii('ㄱ') <= … 계속 읽기 오라클 초성검색 함수
connect by level
select levelfrom dualconnect by level <= 7; 결과값 1234567
ATOM .vue 파일 Syntax Highlighting
ATOM에서 .vue 파일을 열면, 하이라이팅이 안되어 있음. 해결방법: File > Settings > Install 에서"language-vue" 검색 후 설치아톰 껐다가, 다시 열면 됨