SQL/MS-SQL & SQL Server Management Studio

[Ms sql] 문자열 함수

삐뚤어진 개발자 2019. 10. 10.

- ASCII 함수

맨왼쪽 문자의 아스키 코드를 반환

Ex) SELECT ASCII('ABC')  => 65  (A의 아스키 코드는 65)

 

- CHAR 함수

아스키 코드를 문자로 반환

Ex) SELECT CHAR (65)  => A 

 

- CHARINDEX 함수

문자의 위치를 숫자로 반환

문법: CHARINDEX(찾을 문자, 문자열, 찾기 시작할 위치) 

Ex) SELECT CHAR (65) SELECT CHARINDEX('B', 'ABCD', 1) => 2   (ABCD 문자열에 B는 2번째에 있다.)

 

- LEFT, RIGHT 함수

문자열을 왼쪽,오른쪽에서 부터 끊어서 출력.

문법: LEFT(문자열, 끊는 길이) // RIGHT(문자열, 끊는 길이)

Ex) SELECT RIGHT('ABCDE', 3)  => CDE 출력

 

- LEN 함수

공백을 제외한 문자열 수 반환.

문법: LEN(문자열)

Ex) SELECT LEN('I AM TW')  => 5 출력

 

- UPPER, LOWER 함수

소문자 -> 대문자 / 대문자 -> 소문자로 반환

문법: UPPER(소문자), LOWER(대문자)

Ex) SELECT LOWER('I AM TW')  => i am tw 출력

 

- LTRIM/RTRIM 함수

왼쪽, 오른쪽 공백을 제거한 문자열 반환

문법: LTRIM(공백 포함 문자열), RTRIM(공백 포함 문자열)

Ex) SELECT LTRIM(' I AM TW') => 'I AM TW' 출력 (왼쪽 공백 없이 출력)

 

- PATINDEX 함수

패턴이 처음 나타나는 시작위치를 반환. / 없으면 0 출력

문법: PATINDEX(%패턴 문자열%, 찾을 문자열)

Ex) SELECT PATINDEX('%AM%','I AM TW')  => 3   출력 (3번째 부터 AM 이 시작됨)

 

- REPLACE 함수

지정한 문자열을 모두 대체 문자열로 바꿈

문법: PATINDEX(지정 문자열, 대체 문자열, 대체될 문자열)

Ex) SELECT PATINDEX('%AM%','I AM TW')SELECT REPLACE('I AM TW, TW IS GOOD','TW','DH')  => I AM DH, DH IS GOOD  출력 (문자열의 TW를 일괄 DH 로 바꿈.)

 

- REPLICATE 함수

문자열을 횟수만큼 반복으로 출력

문법: REPLICATE(문자열, 횟수)

Ex) SELECT REPLICATE('TW',5) => TWTWTWTWTW   출력

 

- REVERSE 함수

문자열을 거꾸로 출력

문법: REVERSE(문자열)

Ex) SELECT REVERSE('I AM TW') => WT MA I 출력

 

- STUFF 함수

기준 문자열에서 문자열을 잘라 추가 문자열을 삽입.

문법: STUFF(기준 문자열, 시작위치(INT), 길이(INT), 삽입 문자열)

Ex) SELECTSELECT STUFF('12345',3,1,'XYZ')  => 12XYZ45 출력 ('12345' 에서 3부터 길이 1만큼 자르고 XYZ를 삽입해 출력한다.)

 

- SUBSTRING 함수

문자열을 잘라서 출력

문법: SUBSTRING(문자열, 시작위치(INT), 길이(INT))

Ex) SELECT SUBSTRING('12345',3,3) => 345 출력 ('12345' 에서 3부터 길이 3만큼 잘라 출력.)

 

- SPACE 함수

반복된 공백을 출력

문법: SPACE(횟수(INT))

Ex) SELECT 'T' + SPACE(5) +'W' => T     W 출력 

 

 

REFERENCE : https://infodbbase.tistory.com/4

댓글