IT 이야기/DB

[MSSQL] 문자열 자르기 (SUBSTRING, RIGHT, LEFT)

하늘봉 2022. 9. 13. 12:00
반응형

SQL Server에서는 문자열 잘라내기 기능을 제공합니다.

 

테스트를 위해 테이블을 생성합니다.

CREATE TABLE dbo.PROD_TABLE ( 
        prod_cd varchar(10) 
) 
INSERT INTO PROD_TABLE(prod_cd) VALUES ('DP0312'); 
INSERT INTO PROD_TABLE(prod_cd) VALUES ('AP0312T');  
INSERT INTO PROD_TABLE(prod_cd) VALUES ('AP0312C');

 

SUBSTRING

문자열에 대해 시작 위치 위치부터 지정된 만큼의 문자를 잘라내어 출력할 수 있습니다.

-- 첫번째 문자부터 문자 2개를 잘라낸다.
SELECT SUBSTRING(prod_cd, 1, 2)  AS cd1 FROM PROD_TABLE; 

-- 두번째 문자부터 문자 4개를 잘라낸다.
SELECT SUBSTRING(prod_cd, 2, 4)  AS cd2 FROM PROD_TABLE; 

-- 두번째 문자부터 나머지 문자 전체를 잘라낸다. (마지막 문자 위치를 컬럼크기로 지정)
SELECT SUBSTRING(prod_cd, 2, 10) AS cd3 FROM PROD_TABLE;

 

특히 마지막 예시를 보면 세 번째 인자의 값이 입력된 문자열의 길이보다 커도 오류를 발생하지 않습니다.

그래서 마지막 문자 위치를 컬럼 크기로 지정하면 특정 위치에서 나머지 전체를 모두 출력할 수 있습니다.

 

 

RIGHT, LEFT

RIGHT, LEFT 함수는 SUBSTRING 함수의 축약형입니다.
입력된 문자열에 대해 왼쪽 또는 오른쪽에서부터 n개의 문자열을 잘라내어 출력합니다.

-- 왼쪽부터 2개를 잘라낸다.
SELECT LEFT(prod_cd, 2)  AS cd1 FROM PROD_TABLE; 
-- 오른쪽부터 1개를 잘라낸다.
SELECT RIGHT(prod_cd, 1) AS cd2 FROM PROD_TABLE;

 

반응형