MS-SQL 문자열을 자르기
1. 기본 - 문자열 자르는 함수는 SUBSTRING 입니다(시작번호의 경우 MS-SQL은 1부터 시작입니다)
→ SELECT SUBSTRING([문자열], [시작자리번호], [자를문자수])
2. 응용 - 특정 문자열 뒤로 자르고 싶을 경우
WITH TestTable AS
(
SELECT '[첫째]쿼리 가지고 놀기.' COL1
UNION
SELECT '[둘째]원하는 데이터만.' COL1
UNION
SELECT '[셋째]다양한 방법 선택은..' COL1
)
SELECT SUBSTRING(COL1, CHARINDEX(']', COL1, 1) + 1, LEN(COL1)) COL1
FROM TestTable
[결과]
3. 응용 단계별
- CHARINDEX함수 : [~부터 찾을 자리] 에서 부터 검색하여 [찾을 문자]가 들어있는 처음 발견되는 위치의 자릿수
를 리턴한다
→ CHARINDEX([찾을 문자], [문자열], [~부터 찾을 자리])
SELECT 'A' 'GUBUN', CHARINDEX(']', 'ABCD]EFG]HIJKLM]N' , 1) AS 'VALUE'
UNION
SELECT 'B' 'GUBUN', CHARINDEX(']', 'ABCD]EFG]HIJKLM]N' , 6) AS 'VALUE'
[결과]
- LEN함수 : 문자열 자릿 수 구하기
→ LEN('문자열')
SELECT 'A' 'GUBUN', LEN('ABCD') AS 'VALUE'
UNION
SELECT 'B' 'GUBUN', LEN(' ABCD') AS 'VALUE'
UNION
SELECT 'D' 'GUBUN', LEN('ABCD ') AS 'VALUE'
UNION
SELECT 'D' 'GUBUN', LEN(' ABCD ') AS 'VALUE'
[결과]
- SUBSTRING
SELECT 'A' 'GUBUN',SUBSTRING('ABCDE', 1,1) AS 'VALUE'
UNION
SELECT 'A' 'GUBUN',SUBSTRING('ABCDE', 1,2) AS 'VALUE'
[결과]
여기까지
MSSQL 문자열 자르는 방법이였습니다
'프로그래밍 > DB' 카테고리의 다른 글
[MS-SQL] 대소문자 구분하여 조회 하는 방법 (0) | 2017.10.19 |
---|---|
[MS-SQL] 엑셀 업로드 방법 - 데이터 가져오기 (2) | 2017.10.13 |
[MS-SQL] 테이블 조인하여 업데이트하는 방법 (0) | 2017.09.08 |
[MS-SQL] 특정 월의 마지막 날짜 구하는 두가지 방법 (0) | 2017.09.07 |
[MS-SQL] 정규식을 이용한 특수문자 포함 된 데이터 조회 방법 (0) | 2017.09.07 |