개요
2023.06.01 - [SQL] 문자열 합치기 (||/CONCAT/CONCAT_WS)에서 여러 문자열을 합쳐보았다. 이번 글에서는 자르는 방법도 정리한다. 표준인 ANSI SQL을 기준으로 하고 싶어, PostgreSQL을 사용해 정리한다.
SPLIT_PART
SPLIT_PART 함수는 문자열을 지정한 구분자로 자르고 n번째 하위 문자열을 반환한다.
SPLIT_PART(string, delimiter, position)
-- 예시
SELECT SPLIT_PART('A,B,C', ',', 2);
실행 결과
| split_part |
| ---------- |
| B |
SUBSTRING / SUBSTR
SUBSTRING는 특정 위치로부터 지정한 길이의 문자열을 반환한다. 길이는 생략할 수 있으며, 생략하면 문자열 끝까지 반환한다. SUBSTRING과 SUBSTR은 같은 기능을 한다.
SUBSTRING(string , start_position , length)
SUBSTRING(string FROM start_position FOR length)
-- 예시
SELECT
SUBSTRING('PostgreSQL', 1, 8), -- PostgreS
SUBSTRING('PostgreSQL', 8) -- SQL
;
실행 결과
| substring | substring |
| --------- | --------- |
| PostgreS | SQL |
length 지정 시
length 미지정 시
LEFT
LEFT 함수는 문자열의 처음부터 n개 문자를 반환한다. n이 음수이면 문자열 끝에서 n개 문자를 제외한 나머지를 반환한다.
LEFT(string, n)
-- 예시
SELECT
LEFT('ABCde', 2),
LEFT('ABCde',-2);
실행 결과
| left | left |
| ---- | ---- |
| AB | ABC |
RIGHT
RIGHT 함수는 LEFT 함수와 반대로 문자열의 끝부터 n개 문자를 반환한다. n이 음수이면 문자열 처음부터 n개 문자를 제외한 나머지를 반환한다.
RIGHT(string, n)
-- 예시
SELECT
RIGHT('ABCde', 2),
RIGHT('ABCde',-2);
실행 결과
| right | right |
| ----- | ----- |
| de | Cde |
참고 문서
https://www.postgresqltutorial.com/postgresql-string-functions/