SQL ORACLE

2024.12.17(화) / 2일차 연산자와 함수(2)

동준1234 2024. 12. 17. 16:07

<문자 처리 함수>
    *LENGTH(컬럼 | '문자열') : 해당 문자열의 글자수를 반환
    *LENGTHB(컬럼 | '문자열') : 해당 문자열의 바이트수를 반환
    
    '최' '나' 'ㄱ' 한글은 글자당 3BYTE
    영문자, 숫자, 특수문자, 글자당 1BYTE

LENGTH 와 LENGTHB 를 사용한 간단한 예시

 *INSTR
    문자열로부터 특정 문자의 시작위치를 찾아서 반환
       INSTR(컬럼 | '문자열', '찾고자 하는 문자', ['찾을 위치의 시작값', 순번]) -> 결과는 NUMBER로 나옴

단일 문자의 첫번째 등장하는 위치 찾기 / 출력 : 5

*SUBSTR / 자주 사용
    문자열에서 특정 문자열을 추출해서 반환
    
    [표현법]
    SUBSTR(컬럼 | '문자열', 추출할 시작위치, [추출문자 갯수])

Hello World 의 7번째 위치부터 끝까지 출력 / 출력 : World

*LTRIM/RTRIM
    문자열에서 특정 문자를 제거한 나머지를 반환
    LTRIM/RTRIM(컬럼 | '문자열', [제거하고자 하는 문자들])
    
    문자열의 왼쪽 혹은 오른쪽에서 제거하고자 하는 문자들을 찾아서 제거한 나머지 문자열 반환

Hello World 에 * 제거 / 출력 : Hello World

 *TRIM
    문자열의 앞/뒤/양쪽에 있는 저장한 문자들을 제거한 나머지 문자열 반환
    TRIM([LEADING | TRAILING | BOTH} 제거하고자 하는 문자열 FROM 문자열)

Hello World 의 양쪽 공백 제거 / 출력 : Hello World

*LOWER / UPPER / INITCAP
    LOWER : 다 소문자로 변경한 문자열 반환
    UPPER : 다 대문자로 변경한 문자열 반환
    INITCAP : 띄어쓰기 기준 첫글자마다 대문자로 변경한 문자열 반환

*CONCAT
    문자열 두개 전달받아서 하나로 합친 후 반환
    CONCAT(STRING1, STRING2)

 *REPLACE 
    특정문자열에서 특정부분을 다른 부분으로 교체
    REPLACE(문자열, 찾은 문자열, 변경할 문자열)

<숫자 처리 함수>

 *ABS
    숫자의 절대값을 구해주는 함수

*MOD
    두 수를 나눈 나머지 값을 반환
    MOD(NUNBER, NUMBER)

*ROUND
    반올림한 결과를 반환
    ROUND(NUMBER, [위치])

   *CEIL
    올림처리를 위한 함수
    CEIL(NUMBER)

  TRUNC, FLOOR
    버림처리 함수
    
    TRUNC(NUMBER, [위치])
    FLOOR(NUMBER)