.
RTRIM / LTRIM / SUBSTRING / RIGHT / LEFT / LEN / DATALENGTH / CHARINDEX / REPLACE / REPLICATE / REVERSE / SPACE / LOWER / UPPER / ASCII
- RTRIM : 오른쪽 공백 없애기
- LTRIM : 왼쪽 공백 없애기
ex. RTRIM('12121212 ') --> 결과 : 12121212
LTRIM(' 111333222') --> 결과 : 111333222
※ Oracle 함수로 사용할 때는 두번째 인수로 없애고 싶은 문자를 지정할 수 있음.
ex. RTRIM('abcdefg', 'c') --> 결과 : abdefg
- SUBSTRING('문자열', m [, n ]) : 문자열 중 m 위치에서 n개의 문자 길이에 해당하는 문자를 리턴. n이 생략되면 마지막 문자까지.
- RIGHT('문자열', n) : 문자열 중 오른쪽부터 n개의 문자 길이에 해당하는 문자 자르기
- LEFT('문자열', n) : 문자열 중 왼쪽부터 n개의 문자 길이에 해당하는 문자 자르기
ex. SUBSTRING('123456789', 3, 4) --> 결과 : 3456
RIGHT('123456789', 4) --> 결과 : 6789
LEFT('123456789', 4) --> 결과 : 1234
- LEN : 문자열의 개수를 숫자값으로 리턴. 단어 사이의 공백 포함하지만 단어 뒤 공백은 제외됨.
- DATALENGTH : 문자열의 바이트수 리턴. 모든 공백을 포함.
ex. 유니코드 사용할 경우 (유니코드는 모든 문자가 2byte)
LEN(N'SQL Expert') --> 결과 : 10
DATALENGTH(N'SQL Expert') --> 결과 : 20
- CHARINDEX('특정 문자', '문자열') : 문자열에서 특정 문자의 위치값을 리턴
ex. CHARINDEX('34','1234567890') --> 결과 : 3
※ 검색 시작 위치를 세번째 인수로 지정할 수 있다.
ex. CHARINDEX('34','1234567890', 5) --> 결과 : 0
==> 인덱스가 5인 5부터 검색을 시작하므로 34를 찾을 수 있다. 그래서 0을 리턴함.
- REPLACE('대상 문자열', '문자열A, '문자열B') : 대상 문자열에서 문자열A에 해당되는 모든 항목을 찾아 문자열B로 바꾸기
// MSSQL 문자 함수 테스트
SELECT REPLACE('abcdefghicde','cde','xxx')
--> 결과
- REPLICATE('문자열', n) : 문자열을 n번 반복
ex. REPLICATE('문자열', 3) --> 결과 : 문자열문자열문자열
- REVERSE : 문자열을 반대로 리턴
// MSSQL 문자 함수 테스트
SELECT REVERSE('abc')
--> 결과
- SPACE(n) : 스페이스를 n번 추가
ex. SELECT 'ADD' + SPACE(10) + 'SPACE' --> 결과 : ADD SPACE
- LOWER : 영문 문자열을 소문자로 리턴
- UPPER : 영문 문자열을 대문자로 리턴
ex. LOWER('Hong') --> 결과 : hong
UPPER('Hong') --> 결과 : HONG
※ 한글인 문자열에는 아무 변화 없음.
- ASCII : 문자의 ASCII 코드값 리턴
// MSSQL 문자 함수 테스트
SELECT ASCII('1'), ASCII('A')
--> 결과
'IT' 카테고리의 다른 글
SQL | 누적합 구하기 - WHILE문, 셀프조인 (0) | 2019.09.16 |
---|---|
MSSQL | 자주 쓰는 숫자 함수 정리 (0) | 2019.09.10 |
MSSQL | 두번째로 큰 연봉 - OFFSET ~ FETCH (0) | 2019.09.09 |
SQL | 온라인으로 SQL 쿼리문 실행 가능한 페이지들 (0) | 2019.09.07 |
ORACLE & MSSQL | 그룹 별 소계 조회 - ROLLUP, UNION ALL (0) | 2019.09.07 |