내가 보려고 정리하는 SQL - (3) 문자형 함수
in Programming on SQL - Study
문자형 함수 예시를 담아보았습니다.🧐
FROM DUMMY
: DB의 물리적 Table 없이 함수만 가지고 하고싶을 때, 무형의 테이블에서 가져오겠다는 의미
1. 문자형으로 변환 (TO_VARCHAR())
TO_VARCHAR()
: DATE형, NUMBER형을 문자 타입으로 변환하는 함수SELECT TO_VARCHAR(12.123) AS COL_CHAR FROM DUMMY
(조회결과)
2. NULL값 채우기 (IFNULL)
- 조건 : NULL값을 ‘공백’으로 대체하기
SELECT IFNULL(NAME, '공백') FROM ( SELECT NULL AS NAME FROM DUMMY UNION ALL SELECT 'YOON' FROM DUMMY )
(조회결과)
3. 소문자(LOWER), 대문자(UPPER)
LOWER
: 소문자 표시SELECT LOWER('SQL Expert') "소문자" FROM DUMMY
(조회결과)
UPPER
: 대문자 표시SELECT UPPER('SQL Expert') "대문자" FROM DUMMY
(조회결과)
4. 문자열 연결 - CONCAT(), ||
CONCAT(문자열, 문자열, ...)
를 통한 칼럼 생성SELECT CONCAT('A','BC') "CONCAT" FROM DUMMY
(조회결과)
- 합성연산자(CONCATENATION)를 통한 칼럼 생성
- 문자와 문자 연결 : 2개의 수직바(
||
)SELECT 'A'||'BC' "CONCAT" FROM DUMMY
(조회결과)
- 문자와 문자 연결 : 2개의 수직바(
5. 문자열 일부 추출하기 - SUBSTRING()
SUBSTRING(문자열, m, n)
: 문자열 중 m위치에서 n개의 문자 길이에 해당하는 문자, n이 생략되면 마지막 문자까지 포함함SELECT SUBSTRING('SQL Expert',5,3) "SUBSTRING" FROM DUMMY
(조회결과)
SELECT SUBSTRING('SQL Expert',5) "SUBSTRING" FROM DUMMY
(조회결과)
6. 문자열 일부 추출하기(왼쪽) - LEFT()
LEFT(문자열, 길이)
: 문자열을 왼쪽부터 원하는 길이만큼 자르는 함수- 예시) 주민등록번호만으로도 생년월일만 출력 / 이름을 잘라서 이름만 출력
SELECT LEFT('860425-2xxxxxx',6) AS YYYYMMDD FROM DUMMY
(조회결과)
- 예시) 주민등록번호만으로도 생년월일만 출력 / 이름을 잘라서 이름만 출력
7. 문자열 일부 추출하기(오른쪽) - RIGHT()
RIGHT(문자열, 길이)
: 문자열을 오른쪽부터 원하는 길이만큼 자르는 함수SELECT RIGHT('860425',4) AS MMDD FROM DUMMY
(조회결과)
8. 문자열 개수 - LENGTH()
SELECT LENGTH('SQL Expert') AS LEN_COL
FROM DUMMY
(조회결과)
9. 왼쪽 문자 제거 - LTRIM()
LTRIM(문자열, '특정문자')
: 왼쪽의 공백을 제거할 때 사용가능 하지만, 반복적인 문자나 특정 문자를 제거할 때 자주 사용함- 문자열의 첫문자부터 확인해서 지정 문자가 나타나면 해당 문자를 제거함
SELECT LTRIM('xxxYYZZxYZ','x') FROM DUMMY
(조회결과)
- 문자 생략이면 공백 값이 디폴트
SELECT LTRIM(' XXX') FROM DUMMY
(조회결과)
10. 오른쪽 문자 제거 - RTRIM()
RTRIM(문자열, '특정문자')
: 오른쪽의 공백을 제거할 때 사용가능 하지만, 반복적인 문자나 특정 문자를 제거할 때 자주 사용함- 문자열의 마지막 문자부터 확인해서 지정 문자가 나타나는 동안 해당 문자를 제거함
SELECT RTRIM('YZZxYZZ','Z') FROM DUMMY
(조회결과)
11. 양쪽 문자 제거 - TRIM()
TRIM()
: 문자열의 양쪽 공백을 제거하는 기본적인 함수이며, 문자열의 머리말 or 꼬리말 or 양쪽에 있는 지정 문자를 제거함SELECT TRIM('x' FROM 'xxYYZZxx') FROM DUMMY
(조회결과)
LEADING
: 좌측 공백 혹은 문자 제거SELECT TRIM(LEADING 'x' FROM 'xxyyzzXX') FROM DUMMY
(조회결과)
TRAILING
: 우측 공백 혹은 문자 제거SELECT TRIM(TRAILING 'x' FROM 'XXXYYYxxx') FROM DUMMY
(조회결과)