[Oracle] 대문자 / 소문자 / 첫글자만 대문자 변경 (UPPER, LOWER, INITCAP) 함수

오라클에서 대소문자를 가려주는 함수들이 있습니다. UPPER(대문자로 변환), LOWER(소문자로 변환), INITCAP(첫글자만 대문자로 나머지는 소문자로 변환) 이번 포스팅에서는 이 3가지 함수들의 사용법에 대해 알아보도록 하겠습니다.

     

    대문자로 치환 (UPPER)

    --사용법
    UPPER(문자열)
    --예제
    SELECT
    UPPER('i am software developer')
    FROM DUAL

    대문자치환

    UPPER 함수는 매개변수로 들어오는 문자열을 대문자로 변환해주는 함수입니다.

     

    소문자로 치환(LOWER)

    --사용법
    LOWER(문자열)
    --예제
    SELECT
    LOWER('I AM SOFTWARE DEVELOPER')
    FROM DUAL

    소문자치환

    LOWER함수는 매개변수로 들어오는 문자열을 소문자로 변환해주는 함수입니다.

     

    첫글자만 대문자, 나머지는 소문자로 치환(INITCAP)

    --사용법
    INITCAP(문자열)
    --예제
    SELECT
    INITCAP('I AM SOFTWARE DEVELOPER')
    FROM DUAL

    첫글자만 대문자 치환

    INITCAP 함수는 매개변수로 들어오는 문자열의 첫글자는 대문자로 나머지는 소문자로 변환합니다. 첫글자로 인식하는 기준은 공백과 알파벳이 아닌 문자 뒤를 첫글자를 인식합니다.

     

    대문자 / 소문자 구분없이 검색하기

    WITH EXAMPLE AS(
    SELECT 
    'This blog is from Coding Factory' AS STR
    FROM DUAL
    )
    
    SELECT
    STR
    FROM
    EXAMPLE
    WHERE
    UPPER(STR) LIKE '%CODING%'

    대소문자 구분없이 검색

    오라클에 저장되어 있는 데이터들은 대소문자를 구분합니다. 그러므로 특정 단어로 데이터를 찾을 경우에도 대소문자를 구분하는데요. 이럴경우 내가 찾고싶은 데이터를 못찾는 경우가 생깁니다. 위의 예제같은경우에도  'This blog is from Coding Factory' 라고 데이터가 있지만 'CODING'이라고 검색을 하여 일반적이라면 데이터가 조회가 되지 않습니다. 'Coding'은 소문자이고 조건절의 찾는 문자 'CODING'은 대문자이기 때문입니다. 이럴경우 WHERE절 조회 대상 컬럼을 UPPER로 대문자로 치환해준다면 대문자로 검색했을 시 대소문자 구분없이 모든 데이터가 조회가 가능합니다. 소문자로 조회하시려면 반대로 조회컬럼을 LOWER함수로 소문자로 치환해주시면 됩니다.

    댓글

    Designed by JB FACTORY