Oracle 15

[ORACLE DB] 오라클에서 정규표현식 Regexp 함수 사용 방법

오라클 SQL Query에서 검색과 치환 등에 정규식을 사용 가능하도록 오라클 10g부터 제공되는 함수를 사용하는 방법을 알아보도록 하겠습니다. 먼저 정규식으로 사용가능한 함수는 아래와 같습니다. REGEXP_REPLACE REGEXP_SUBSTR REGEXP_INSTR REGEXP_LIKE ORACLE DB에서는 위의 4가지 함수가 제공됩니다. 1. REGEXP_REPLACE Syntex : regexp_replace(원본 문자열, Pattern [, 대체문자열 [, 시작위치 [, 일치횟수 [, 매칭 매개변수 ]]]] ); - 원본 문자열 : 원본데이터나 컬럼 - pattern : 찾고자 하는 데이터 패턴 - 대체문자열 : 변환하고자 하는 형태 - 시작위치 : 검색시작위치를 지정(기본값은 1) - 일치..

Oracle 2021.10.23

오라클 락 해제 방법 - LOCK 개체 확인

오라클 디비에서 락이 걸리는 이유는 다양합니다. 누군가 sql 실행 중 Commit을 안 했다던지, 배치가 실행 중이라던지 등등 Truncate 같은 명령은 ORA-00054라는 에러라도 출력하지만... DML(Delete) 문장 실행 시 그냥 멈쳐버립니다. 오라클 재시작!!! 하면 간단하게 처리됩니다만.--^^; ​ 하지만 DB 특성상 재시작 할 수 없는 경우가 많죠~ 그때는 Lock 걸린 세션을 찾아서.. Kill 해주면 됩니다. ※ 아래 작업은 사용자 계정으로는 조회가 안되니 관리자 권한으로 하여야 합니다. (SYSTEM 계정으로 로그인) 1. 먼저, TABLE의 LOCK(락) 객체 검색 SELECT A.SID , A.SERIAL# , C.OBJECT_NAME , A.SID || ', ' || A...

Oracle 2021.10.04

오라클 날짜 계산 함수 (다음주, 마지막날, 요일 구하기 등등)

날짜 계산 함수 -- '2021-12-22' 과 당일 사이의 달의 수를 NUMBER형 타입으로 반환 -- months_between(A,B) = A-B/30 select months_between(sysdate,to_date('2021-12-22','yyyy-mm-dd')) from dual; -- 특정일의 달수 더한 날 select add_months(sysdate,4) from dual; -- 특정일의 다음주 요일 select next_day(sysdate,'friday') from dual; -- 특정일의 해당 월의 마지막 날 select last_day,(sysdate) from dual; -- 특정일의 반올림(오후면 다음날..) select round(sysdate,'dd') from dual;..

Oracle 2021.10.04

Oracle SQL Plus 실행 명령어 모음

- SQL Plus 실행명령어 아래 나온 것들은 별로 실행해 본적이 없는거 같습니다. 주로 리눅스환경에서 sqlplus를 실행한 후, ed 혹은 edit 를 통해 vi 편집을 하고 해서 실행하는 것을 주로 사용했습니다. 이 내용을 저장하고 싶으면 'spool 파일이름' 을 해주면 sqlplus 를 실행한 디렉토리에 파일이름으로 실행내용이 저장된다. 저장내용을 좀더 이쁘게 하고 싶다면 col name format a30 이거 정도 사용하면 됩니다. a다음 숫자는 해당 컬럼 길이 만큼 지정해줍니다. 'spool off' 하면 정지 됩니다. / 실행 run help host timing SQL Plus 편집명령어 I[NPUT] text : 새로운 라인을 삽입 D[EL] : 현재 버퍼 라인의 내용을 삭제 D[E..

Oracle 2020.09.26

Oracle DB에서 SQL 쿼리로 달력 만들기

오라클 데이터베이스에서 쿼리를 이용하여 특정월의 요일별 달력을 만들어야 하는 경우 아래 SQL Query를 이용하여 달력을 만들수 있다. ​ 파마리커 값으로 '202002' 처럼 년월을 입력하면 2월달 달력을 만들 수 있다. SELECT SUM(DECODE(A.A2, '1', A.A3, null)) 일요일, SUM(DECODE(A.A2, '2', A.A3, null)) 월요일, SUM(DECODE(A.A2, '3', A.A3, null)) 화요일, SUM(DECODE(A.A2, '4', A.A3, null)) 수요일, SUM(DECODE(A.A2, '5', A.A3, null)) 목요일, SUM(DECODE(A.A2, '6', A.A3, null)) 금요일, SUM(DECODE(A.A2, '7', A.A..

Oracle 2020.09.25

Oracle 무료 데이터베이스 Oracle Xe 2020년 기준

Oracle Database Express Edition ( Oracle XE ) Oracle Xe는 오라클 데이터베이스의 개발용 버전으로 MSSQL Express와 비슷한 무료 사용가능 데이터베이스 입니다. ​ 일반 개발자가 개발시 또는 소규모 내부 사용자나 테스트용으로 사용 가능하며 라이센스에 제약이 없습니다. 즉, 상업적 이용도 가능합니다. ​ 단, 성능의 제한이 있어서 대규모 사이트나 큰 데이터는 사용이 불가능합니다. 따라서, 소규모나 개발용으로 사용시 적합합니다. 굿대디's Pick - 무료 버전. 개발, 배포, 보급까지 무료. - 라이센스 제약이 없다. - CPU 개수와 상관 없으나 최대 12GB 사용자 데이터만 사용 가능하며 최대 2GB의 메모리만 사용 가능하다. - 초급 수준의 소규모 데이..

Oracle 2020.08.12

오라클 주(week) 구하기

[ 주(Week)구하기 ] : ① ~ ⑤까지 차례대로 해본다 ① 요일번호(1:일요일~7:토요일) SELECT TO_NUMBER(TO_CHAR(TO_DATE(ATTN_DATE,'YYYYMMDD'),'D')) FROM EMPLOYEE_ATTEND WHERE ATTN_DATE LIKE '200612%' AND SNO='76990101' ② 날짜+7 SELECT TO_NUMBER(TO_CHAR(TO_DATE(ATTN_DATE,'YYYYMMDD'),'DD'))+7 FROM EMPLOYEE_ATTEND WHERE ATTN_DATE LIKE '200612%' AND SNO='76990101' ③ (날짜+7)-요일번호 SELECT TO_NUMBER(TO_CHAR(TO_DATE(ATTN_DATE,'YYYYMMDD'),'..

Oracle 2019.10.03

Oracle Instant Client 설치 아무리 해도 안될 때

ORACLE Instant Client 설치 Oracle Instant Client 설치 아무리 해도 안될 때.. Visual Studio 2013 재배포 package 필요합니다. 다운로드할 때 좀만 잘 읽어 봤어도 삽질은 하지 않았을 텐데 암튼 다운로드 사이트에서 아래 링크 클릭해서 2013버전 받아서 설치하니 깔끔하게 인식되었습니다. 여러분도 삽질하지 마시길... 인스턴트 클라이언트 설치는 아래 링크 참고하시면 됩니다. 설치 순서는 아래와 같이만 하면 됩니다. 1. Basic Package 다운로드 2. 한글 명칭 없는 폴더에 압출해재 3. 환경변수 설정 4. VC++ 라이브러리 없으면 설치 - 끝 - https://softone.tistory.com/6 Oracle Instant client 설치..

Oracle 2019.10.03