Oracle 12c 데이터베이스 19 - 유용한 팁

💡 본 글은 ‘실습과 함께하는! 데이터베이스 Oracle 12c’ 강의 내용을 바탕으로 정리하였습니다.

시스템명령어 실행

  • SQL > 프롬프트 상에서 ! 입력하고 시스템명령어 사용 가능
    • !ls : 폴더/파일 리스트 확인
    • !clear: 화면 지우기

화면 포맷팅

  • 한 줄 길이
    • SET LINESIZE 100
    • SET LINE 100
  • 한 페이지 길이
    • SET PAGESIZE 100
    • SET PAGE 100
  • 컬럼 길이
    • COL 컬럼명 FORMAT a10
    • a는 문자, a10은 문자열 10글자
  • 컬럼 포맷
    • COL 컬럼명 FORMAT 999,999
    • 가운데 ,는 1000단위로 잘라서 보이기

💡 다시 접속해도 설정이 남아있도록 하고 싶으면? glogin.sql 파일 안에 써주기
find / -name glogin.sql 로 위치 알아내서 수정

연결연산자 ||

  • 문자열이나 컬럼 값 출력할 때 설명하는 문구를 적을 수 있음
 SELECT '원하는 문자열' || 컬럼명 || '원하는 문자열' FROM 테이블명

날짜 포맷

nls_date_format

  • 날짜 포맷 자체를 변경
  ALTER SESSION SET nls_date_format = 'YYYY/MM/DD';

💡 다시 접속해도 설정이 남아있도록 하고 싶으면? glogin.sql 파일 안에 써주기
find / -name glogin.sql 로 위치 알아내서 수정

to_char, to_date

  • date 타입을 문자열로, 문자열을 date 타입으로 변경
  to_char(sysdate, 'YYYY/MM/DD')
  to_date('19941225', 'YYYYMMDD')

like 검색

  • 와일드카드 글자(%, _)로 검색하려면? #% + ESCAPE 문자 뭔지(예시에서는 #) 뒤에 쓰기
  SELECT * FROM 테이블명 WHERE 컬럼명 LIKE '%#%%' ESCAPE '#';

DECODE 함수

  • 여러 줄의 CASE 문을 한 줄로 표현 가능 (오라클에만 존재)
  SELECT DECODE(컬럼명, 조건1, 출력형식1, 조건2, 출력형식2, ...) FROM 테이블명 WHERE 조건절;

드디어 강의를 다 들었다! 처음 실습 환경 구축부터 어려움을 겪었는데, 실습 안 하고 그냥 듣기만 했으면 기억에 안 남았을 듯 싶다. 이미 알고 있는 내용도 있었고, 새로운 내용도 많았다. 물론 한 번 듣고 다 나의 지식, 나의 기술로 만들기는 어려웠다. 하지만 실무에서 관련 이슈가 나왔을 때 적어도 그게 무얼 뜻하는지는 알 수 있으리라 생각한다!!