더북(TheBook)

6.2.2 문자형 함수

두 번째로 문자형 함수를 살펴보죠. 문자형 함수는 문자나 문자열을 대상으로 연산을 수행해 결괏값을 반환합니다. 대부분의 문자형 함수는 반환하는 값의 데이터 타입이 문자형이지만, 일부는 숫자를 반환하기도 합니다. MySQL에서 제공하는 문자형 함수가 매우 많은데, 그중에서 자주 사용하는 함수 위주로 알아보겠습니다.

▼ 표 6-4 문자형 함수

함수

반환값

사용 예

CHAR_LENGTH(str)

CHARACTER_LENGTH(str)

str 문자열의 문자 개수 반환

CHAR_LENGTH('AB')2

LENGTH(str)

str 문자열의 바이트(Byte) 수 반환

LENGTH('AB')2

CONCAT(s1, s2...)

s1, s2 등의 문자열을 하나로 이어 붙여서 반환

CONCAT('A', 'B')AB

CONCAT_WS(sep, s1, s2... )

s1, s2 등의 문자열을 sep로 연결해 반환

CONCAT_WS('-', 'A', 'B')A-B

FORMAT(x, d)

숫자 x의 정수 부분 3자리마다 콤마를 추가해 문자열로 반환

소수점 이하 d자리 기준으로 반올림

FORMAT(123456.13457, 3)123,456.135

INSTR(str, substr)

str 문자열에서 substr 문자(열)를 찾아 시작 위치 반환

INSTR('ABC', 'C')3

LOCATE(substr, str, pos)

POSITION(substr IN str)

str 문자열에서 substr 문자(열)를 찾아 시작 위치 반환, pos 입력 시 해당 위치부터 검색 시작

LOCATE('C', 'ABCDEFG')3

LOWER(str)

LCASE(str)

str 문자열을 소문자로 반환

LOWER('ABC')'abc'

UPPER(str)

UCASE(str)

str 문자열을 대문자로 반환

UPPER('abc')'ABC'

LPAD(str, len, padstr)

str 문자열을 len 길이만큼 반환하는데, 자리가 남으면 왼쪽을 padstr 문자로 채움

LPAD('ABC', 5, '*')'**ABC'

RPAD(str, len, padstr)

str 문자열을 len 길이만큼 반환하는데, 자리가 남으면 오른쪽을 padstr 문자로 채움

RPAD('ABC', 5, '*') → 'ABC**'

LTRIM(str)

str 문자열에서 왼쪽 공백 제거

LTRIM(' ABC ')'ABC '

RTRIM(str)

str 문자열에서 오른쪽 공백 제거

RTRIM(' ABC ')' ABC'

LEFT(str, len)

str 문자열을 len 길이만큼 왼쪽에서 잘라서 반환

LEFT('ABCDE', 2)'AB'

RIGHT(str, len)

str 문자열에서 len 길이만큼 오른쪽에서 잘라서 반환

RIGHT('ABCDE', 2)'DE'

REPEAT(str, count)

str 문자열을 count만큼 반복

REPEAT('Ya', 3)'YaYaYa'

REPLACE(str, from_str, to_str)

str 문자열에서 from_str 문자열을 찾아 to_str로 변경

REPLACE('NaNaNa', 'a', 'b')'NbNbNb'

REVERSE(str)

str 문자열을 거꾸로 반환

REVERSE('abcdefg')'gfedcba'

SPACE(N)

N개의 공백 문자 반환

SPACE(3) → ' '

SUBSTR(str, pos, len)

SUBSTRING(str, pos, len)

MID(str, pos, len)

str 문자열의 pos 위치에서 len 길이만큼 문자를 잘라서 반환

SUBSTR('ABCD', 3, 1)'C'

TRIM([{BOTH-LEADING|TRAILING} [remstr] FROM] str)

str 문자열에서 remstr 문자를 앞(LEADING)이나 뒤(TRAILING) 또는 앞뒤(BOTH)에서 제거

TRIM(LEADING 'x' FROM 'xxSQLxx')'SQLxx'

STRCMP (str1, str2)

str1str2 문자열을 비교해 같으면 0, str1str2보다 크면 1, 작으면 -1을 반환

STRCMP('A', 'B')-1

표에서 보듯이 문자형 함수는 꽤 많습니다. 실제로는 이것보다 더 많지만, 자주 쓰는 함수를 골라서 수록했습니다. 그럼 각 함수의 사용법을 알아봅시다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.