Day49 - 데이터베이스-오라클(3). 22.11.4.금

류소리·2022년 11월 4일
0

오라클

목록 보기
3/13

LENGTH (길이)

  • 오라클에서 LENGTH 함수는 주어진 문자열의 길이를 리턴하는 함수입니다.

  • LENGTH 함수는 두 종류가 있습니다.

    • 일반 LENGTH : 문자 단위로 처리
    • LENGTHB : 바이트 단위로 처리
  • 따라서 같은 글자에 LENGTH와 LENGTHB를 적용한 결과는 다릅니다.


SUBSTR (문자 단위)

  • 오라클에서 SUBSTR 함수는 문자단위로 시작위치와 자를 길이를 지정하여 문자열을 자른다.
  • 함수 : SUBSTR("문자열", "시작위치", "길이")


instr

  • 오라클에서는 문자열에서 원하는 문자를 찾을 때 INSTR 함수를 사용한다.

  • INSTR 함수는 대소문자를 구별하여 문자를 검색하며, 여러 개의 문자를 찾을 때는 OR 연산자를 사용하면 된다.

  • 해당 문자를 한번 찾으면 더 이상 검색을 하지 않기 때문에 필요에 따라서 뒤(마지막)에서 부터 검색을 할 수도 있다.

  • INSTR ( [문자열], [찾을 문자 값], [찾기를 시작할 위치(1,-1)], [찾은 결과의 순번(1...n)] )


REPLACE (엔터, 탭 제거)

  • 오라클 REPLACE 함수 사용법 (엔터, 탭 제거)
  • 오라클에서 특정 문자열을 치환하거나 제거하기 위해서는 replace() 함수를 사용하면 된다.
  • 단순 문자열 치환 외에도 엔터값 제거나
    태그를 엔터값 치환에도 많이 사용된다.
  • 오라클 10g 부터 정규식 사용이 가능한 regexp_replace()함수가 추가 되었다.
  • 함수사용법 : replace(컬럼명, '찾을문자', '변환문자')
  • 특정문자 치환 replace(A.NM, 'Steven', 'S.')
  • 특정문자 제거 replace(A.NM, 'King', '')
  • 엔터값 제거 replace(replace(A.NM, chr(13), ''), chr(10), '')
  • 탭문자 제거 replace(A.NM, chr(9), '')
  • 태그 엔터값으로 치환 replace(A.NM, chr(13)||chr(10))
  • 전환번호 구분자 제거 replace(A.TELNO, '-', '')


LPAD, RPAD (공백, 0, 채우기)

  • 오라클에서 LPAD, RPAD 함수 사용방법 (공백, 0, 채우기)
  • 오라클(Oracle) LPAD, RPAD 함수 사용법
  • 숫자형 문자인 경우 문자길이를 똑같이 맞춰야하는 경우가 있다.
  • LPAD는 왼쪽, RPAD는 오른쪽부터 총길이 만큼 지정한 문자를 채운다.
    ex) 1, 10, 123 -> 00001, 00010, 00123

  • 1번과 같이 채움문자를 지정하지 않으면 공백으로 해당 길이만큼 문자를 채운다.
  • 1번과 2번은 같은 결과를 출력한다.
    "총 문자길이" - Length("값") = 채움문자수

  • 1번과 같이 채움문자를 지정하지 않으면 공백으로 해당 길이만큼 문자를 채운다.
  • 1번과 2번은 같은 결과를 출력한다.

(||, CONCAT)

  • 오라클 문자열 합치는 방법 (||, CONCAT)
    오라클에서 문자열을 합치기 위해서는 CONCAT 함수 또는 "||" 파이프 두개를 사용한다.

  • CONCAT 함수는 여려개의 문자열을 합칠 때 조금 번거로운 면이 있기 때문에, 실무에서는 "||"를 많이 사용하는 편이다.

  • 아래의 쿼리 예시를 보면 쉽게 이해할 수 있다.


TRIM, LTRIM, RTRIM (문자, 공백, 0, 제거)

  • TRIM, LTRIM, RTRIM 함수 사용방법 (문자, 공백, 0, 제거)
  • 오라클(Oracle) TRIM, LTRIM, RTRIM 함수 사용방법
  • TRIM 함수는 문자열의 양쪽 공백을 제거하는 기본적인 함수이다.
  • LTRIM 함수, RTRIM 함수는 왼쪽과 오른쪽의 공백을 제거할 때 사용가능 하지만, 반복적인 문자나 특정 문자를 제거할 때 자주 사용한다.


https://dongdongfather.tistory.com/40
https://gent.tistory.com/22

profile
새싹 빅테이터 개발자

0개의 댓글