서론
지금부터 문자열
을 연산하는 연산자와 함수를 설명하겠다.
문자열끼리 연산하는 연산자는 많지 않다.
1. 문자열 결합
문자열 결합
이란 다음과 같이 문자열 데이터를 결합하는 연산이다.
'ABC' + '123' = 'ABC123'
문자열을 결합하는 연산자
에는 데이터베이스 제품마다 방언
이 존재한다.
먼저 SQL Server는 문자열 결합에 '+'
연산자를 사용한다.
Oracle이나 DB2, PostgreSQL에서는 '||'
연산자를 사용해서 문자열을 결합한다.
MySQL
에서는 'CONCAT 함수'
로 문자열을 결합한다.
필자는 MySQL을 사용하고 있으므로 CONCAT 함수를 이용해 문자열 결합을 해보겠다.
SELECT *, CONCAT(id, name) FROM sample_table;
id
열과 name
열이 합쳐져 하나의 문자열이 되었다.
문자열 결합이지만 수치 데이터도 문제없이 연산할 수 있다.
단, 문자열로 결합한 결과는 위에서 보이는 것처럼 문자열형
이 된다.
2. SUBSTRING 함수
SUBSTRING
함수는 문자열의 일부분
을 계산해서 반환
해주는 함수이다.
데이터베이스에 따라서는 함수명이 SUBSTR인 경우도 있다.
SELECT *, SUBSTRING(name, 1, 2) FROM sample_table;
3. TRIM 함수
TRIM
함수는 문자열의 앞뒤로 여분의 스페이스
가 있을 경우 이를 제거
해주는 함수이다.
문자열 도중에 존재하는 스페이스는 제거되지 않는다.
문자열의 길이가 고정되며 남은 공간은 스페이스로 채워지는 CHAR
형에 대해 많이 사용하는 함수이다.
TRIM('ABC ') => 'ABC'
4. CHARACTER_LENGTH 함수
CHARACTER_LENGTH
함수는 문자열의 길이
를 계산해주는 함수이다.
고정길이 문자열인 CHAR 형보다 셀마다 문자열의 길이가 다른 VARCHAR
형에 주로 사용된다.