반응형
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;
반응형
'IT 이야기 > DB' 카테고리의 다른 글
[MSSQL] 중복 제거 조회 (distinct, group by) (0) | 2022.09.16 |
---|---|
[SQLP 시험대비 요약/단답형] 선택도와 카디널리티 (1) | 2022.09.15 |
[MSSQL] Lock 확인 및 Kill 하는 방법 (2) | 2022.09.12 |
[SQLP 시험대비 요약/단답형] 공유커서, 세션커서, 애플리케이션 커서 (0) | 2022.09.11 |
[SQLP 시험대비 요약/단답형] 소프트 파싱과 하드 파싱 (2) | 2022.09.10 |