1. 문자열 자르기 함수 (SUBSTRING, LEFT, RIGHT)
SUBSTRING (문자열, 시작위치, 길이) 문자열을 원하는 시작위치부터 길이만큼 잘라주는 함수
LEFT (문자열, 길이) : 문자열을 왼쪽부터 원하는 길이만큼 자르는 함수
RIGHT (문자열, 길이): 문자열을 오른쪽부터 원하는 길이만큼 자르는 함수
✔SUBSTRING, LEFT, RIGHT 예시
DECLARE @TODAY VARCHAR(20) = '2022-09-15' --문자열 변수 선언
-- 년도 출력
SELECT SUBSTRING(@TODAY,1,4) AS '년도_SUBSTRING'
SELECT LEFT(@TODAY,4) AS '년도_LEFT'
-- 월 출력
SELECT SUBSTRING(@TODAY,6,2) AS '월__SUBSTRING'
-- 일 출력
SELECT SUBSTRING(@TODAY,9,10) AS '일자_SUBSTRING'
SELECT RIGHT(@TODAY,2) AS '일자_RIGHT'
✔SUBSTRING, LEFT, RIGHT 예시 결과
2. 특정 문자 위치 찾기(CHARINDEX)
CHARINDEX('특정 문자',문자열) : 문자열에서 특정 문자의 위치를 반환
CHARINDEX('특정 문자',문자열,시작위치) : 문자열에서 시작위치에서부터 특정 문자의 위치를 반환
✔CHARINDEX 예시
DECLARE @TODAY VARCHAR(20) = '2022-09-15'
SELECT CHARINDEX('-',@TODAY)AS '시작 위치 지정X' --문자열의 '-'의 첫 위치 반환
SELECT CHARINDEX('-',@TODAY,6)AS'시작 위치 지정ㅇ' -- 문자열의 6 위치에서부터 '-'의 위치 반환
✔CHARINDEX 예시 결과
3. 문자열 치환 (REPLACE,STUFF)
REPLACE (문자열, 특정 문자, 치환할 문자) 문자열의 특정 문자를 치환할 문자로 바꿔주는 함수
STUFF(문자열,시작(대입)위치,크기,치환문자) 문자열에서 시작위치와 크기를 지정하여 원하는 문자로 치환하는 함수
✔REPLACE 예시
DECLARE @TODAY VARCHAR(20) = '2022-09-15'
SELECT REPLACE(@TODAY,'-','') -- '-' -> '' 공백으로 변경
SELECT REPLACE(@TODAY,'15',RIGHT(@TODAY,2)+1) AS TOMORROW -- 15를 16으로 변경
✔REPLACE 예시 결과
✔STUFF 예시
DECLARE @PHONE VARCHAR(20) = '010-1234-5678'
SELECT STUFF(@PHONE,10,4,'****')AS 'STUFF 결과'
✔STUFF 예시 결과
4. 문자열 공백 제거 (LTRIM, RTRIM,TRIM)
LTRIM(문자열) :문자열의 왼쪽 공백 제거
RTRIM(문자열):문자열의 오른쪽 공백 제거
TRIM (문자열): 문자열의 왼쪽 또는 오른쪽에서 공백 제거
TRIM (지정문자 FROM 문자열): 문자열의 시작과 끝 부분에서 지정문자를 제거
✔LTRIM, RTRIM,TRIM 예시
DECLARE @TEXT VARCHAR(20) = ' MS-SQL '
SELECT LTRIM(@TEXT) AS '왼쪽 공백 제거'
SELECT RTRIM(@TEXT) AS '오른쪽 공백 제거'
SELECT TRIM(@TEXT) AS '양쪽 공백 제거'
SELECT TRIM ('&#-' FROM '# #MS-SQL&-') AS '시작과 끝에 공백x' --결과: ' #MS-SQL'
SELECT TRIM ('&#-' FROM ' ##MS-SQL&- ')AS '시작과 끝에 공백o' --결과: ' ##MS-SQL&- '
* TRIM으로 지정문자를 제거할 때는 문자열 전체를 보는 게 아닌, 시작과 끝 부분에서만 지정문자를 제거한다.
✔LTRIM, RTRIM,TRIM 예시 결과
5. 문자열 길이
LEN(문자열): 문자열의 길이 반환
✔LEN 예시
DECLARE @TEXT2 VARCHAR(20) = ' 안녕하세요!! '
SELECT LEN(@TEXT2)
SELECT LEN(TRIM(@TEXT2))
*시작 부분 공백은 길이에 포함되지만 끝 부분 공백은 길이에 포함되지 않음
✔LEN 예시 결과
'MS SQL' 카테고리의 다른 글
MS SQL_MERGE문 사용법 (0) | 2022.09.23 |
---|---|
MS SQL_문자열 관련 함수 정리2(문자열 합치기, 문자열 자르기, 문자열 치환, 공백 제거) (0) | 2022.09.22 |
MS SQL_CURSOR 연산자 사용법 (0) | 2022.09.08 |
MS SQL_LIKE 연산자 사용법 (0) | 2022.08.17 |
MS SQL_CASE WHEN THEN 조건식사용법 (0) | 2022.08.16 |