내가 보려고 정리하는 SQL - (3) 문자형 함수


문자형 함수 예시를 담아보았습니다.🧐

  • FROM DUMMY : DB의 물리적 Table 없이 함수만 가지고 하고싶을 때, 무형의 테이블에서 가져오겠다는 의미


1. 문자형으로 변환 (TO_VARCHAR())

  • TO_VARCHAR() : DATE형, NUMBER형을 문자 타입으로 변환하는 함수
    SELECT TO_VARCHAR(12.123) AS COL_CHAR
    FROM DUMMY
    

    (조회결과) image


2. NULL값 채우기 (IFNULL)

  • 조건 : NULL값을 ‘공백’으로 대체하기
    SELECT IFNULL(NAME, '공백')
    FROM (
         SELECT NULL AS NAME
         FROM DUMMY
         UNION ALL
         SELECT 'YOON'
         FROM DUMMY
     )
    

    (조회결과) image


3. 소문자(LOWER), 대문자(UPPER)

  • LOWER : 소문자 표시
    SELECT LOWER('SQL Expert') "소문자" FROM DUMMY
    

    (조회결과) image

  • UPPER : 대문자 표시
    SELECT UPPER('SQL Expert') "대문자" FROM DUMMY
    

    (조회결과) image


4. 문자열 연결 - CONCAT(), ||

  • CONCAT(문자열, 문자열, ...)를 통한 칼럼 생성
    SELECT CONCAT('A','BC') "CONCAT"
    FROM DUMMY
    

    (조회결과) image

  • 합성연산자(CONCATENATION)를 통한 칼럼 생성
    • 문자와 문자 연결 : 2개의 수직바(||)
      SELECT 'A'||'BC' "CONCAT"
      FROM DUMMY
      

      (조회결과) image


5. 문자열 일부 추출하기 - SUBSTRING()

  • SUBSTRING(문자열, m, n) : 문자열 중 m위치에서 n개의 문자 길이에 해당하는 문자, n이 생략되면 마지막 문자까지 포함함
    SELECT SUBSTRING('SQL Expert',5,3) "SUBSTRING" FROM DUMMY
    

    (조회결과) image

SELECT SUBSTRING('SQL Expert',5) "SUBSTRING" FROM DUMMY

(조회결과) image


6. 문자열 일부 추출하기(왼쪽) - LEFT()

  • LEFT(문자열, 길이) : 문자열을 왼쪽부터 원하는 길이만큼 자르는 함수
    • 예시) 주민등록번호만으로도 생년월일만 출력 / 이름을 잘라서 이름만 출력
      SELECT LEFT('860425-2xxxxxx',6) AS YYYYMMDD
      FROM DUMMY
      

      (조회결과) image


7. 문자열 일부 추출하기(오른쪽) - RIGHT()

  • RIGHT(문자열, 길이) : 문자열을 오른쪽부터 원하는 길이만큼 자르는 함수
    SELECT RIGHT('860425',4) AS MMDD
    FROM DUMMY
    

    (조회결과) image


8. 문자열 개수 - LENGTH()

SELECT LENGTH('SQL Expert') AS LEN_COL
FROM DUMMY

(조회결과) image


9. 왼쪽 문자 제거 - LTRIM()

  • LTRIM(문자열, '특정문자') : 왼쪽의 공백을 제거할 때 사용가능 하지만, 반복적인 문자나 특정 문자를 제거할 때 자주 사용함
  • 문자열의 첫문자부터 확인해서 지정 문자가 나타나면 해당 문자를 제거함
    SELECT LTRIM('xxxYYZZxYZ','x')
    FROM DUMMY
    

    (조회결과) image

  • 문자 생략이면 공백 값이 디폴트
    SELECT LTRIM('           XXX')
    FROM DUMMY
    

    (조회결과) image


10. 오른쪽 문자 제거 - RTRIM()

  • RTRIM(문자열, '특정문자') : 오른쪽의 공백을 제거할 때 사용가능 하지만, 반복적인 문자나 특정 문자를 제거할 때 자주 사용함
  • 문자열의 마지막 문자부터 확인해서 지정 문자가 나타나는 동안 해당 문자를 제거함
    SELECT RTRIM('YZZxYZZ','Z')
    FROM DUMMY
    

    (조회결과) image


11. 양쪽 문자 제거 - TRIM()

  • TRIM() : 문자열의 양쪽 공백을 제거하는 기본적인 함수이며, 문자열의 머리말 or 꼬리말 or 양쪽에 있는 지정 문자를 제거함
    SELECT TRIM('x' FROM 'xxYYZZxx')
    FROM DUMMY
    

    (조회결과) image

  • LEADING : 좌측 공백 혹은 문자 제거
    SELECT TRIM(LEADING 'x' FROM 'xxyyzzXX')
    FROM DUMMY
    

    (조회결과) image

  • TRAILING : 우측 공백 혹은 문자 제거
    SELECT TRIM(TRAILING 'x' FROM 'XXXYYYxxx')
    FROM DUMMY
    

    (조회결과) image






© 2020.02. by ysjang0926

Powered by theorydb