728x90
1. 문자열의 길이 계산하기 (LENGTH 함수)
PostgreSQL에서 문자열의 길이를 계산할 때는 LENGTH 함수를 사용합니다. 이 함수는 문자열의 문자 수를 반환합니다.
-- 문자열 길이 계산 예제
SELECT LENGTH('Hello, PostgreSQL!') AS string_length;
결과:
string_length
--------------
16
2. 문자열 처리에 자주 사용하는 함수
(1) 문자열 연결 (CONCAT)
여러 문자열을 연결할 때 CONCAT 함수를 사용합니다.
SELECT CONCAT('Hello', ', ', 'World!') AS concatenated_string;
결과:
concatenated_string
-------------------
Hello, World!
(2) 문자열 일부 추출 (SUBSTRING)
문자열에서 특정 부분만 추출할 때 사용합니다.
-- 7번째 문자부터 11글자를 추출
SELECT SUBSTRING('PostgreSQL is powerful' FROM 7 FOR 11) AS substring_result;
결과:
substring_result
-----------------
reSQL is p
(3) 문자열 치환 (REPLACE)
특정 문자열을 다른 문자열로 바꿀 때 사용합니다.
SELECT REPLACE('2024-12-26', '-', '/') AS replaced_string;
결과:
replaced_string
---------------
2024/12/26
(4) 문자열 공백 제거 (TRIM, LTRIM, RTRIM)
문자열 양쪽 또는 특정 방향의 공백을 제거할 수 있습니다.
-- 양쪽 공백 제거
SELECT TRIM(' PostgreSQL ') AS trimmed_string;
-- 왼쪽 공백 제거
SELECT LTRIM(' PostgreSQL') AS ltrimmed_string;
-- 오른쪽 공백 제거
SELECT RTRIM('PostgreSQL ') AS rtrimmed_string;
결과:
trimmed_string | ltrimmed_string | rtrimmed_string
---------------|----------------|-----------------
PostgreSQL | PostgreSQL | PostgreSQL
(5) 문자열 포함 여부 확인 (POSITION)
문자열 내에서 특정 단어가 시작하는 위치를 반환합니다.
SELECT POSITION('SQL' IN 'PostgreSQL is amazing') AS position;
결과:
position
--------
5
(6) 문자열 반복 (REPEAT)
특정 문자열을 지정된 횟수만큼 반복합니다.
SELECT REPEAT('PgSQL', 3) AS repeated_string;
결과:
repeated_string
---------------
PgSQLPgSQLPgSQL
(7) 대소문자 변환 (UPPER, LOWER, INITCAP)
문자열의 대소문자를 변환할 수 있습니다.
-- 대문자로 변환
SELECT UPPER('postgresql') AS upper_case;
-- 소문자로 변환
SELECT LOWER('POSTGRESQL') AS lower_case;
-- 첫 글자만 대문자로 변환
SELECT INITCAP('postgresql is powerful') AS initcap_result;
결과:
upper_case | lower_case | initcap_result
-----------|------------|----------------
POSTGRESQL | postgresql | PostgreSQL Is Powerful
3. 문자열 함수 활용 사례
(1) 이메일 도메인 추출
이메일 주소에서 도메인 부분만 추출하는 예제입니다.
SELECT SUBSTRING('user@example.com' FROM POSITION('@' IN 'user@example.com') + 1) AS email_domain;
결과:
email_domain
------------
example.com
(2) 특정 패턴으로 데이터 포맷 변경
날짜 데이터를 YYYY/MM/DD 형식으로 변환합니다.
SELECT REPLACE('2024-12-26', '-', '/') AS formatted_date;
결과:
formatted_date
--------------
2024/12/26
(3) 텍스트 데이터에서 단어 수 세기
공백을 기준으로 단어 수를 계산합니다.
SELECT LENGTH(REGEXP_REPLACE('PostgreSQL is amazing', '\s+', '', 'g')) AS character_count,
LENGTH('PostgreSQL is amazing') - LENGTH(REPLACE('PostgreSQL is amazing', ' ', '')) + 1 AS word_count;
결과:
character_count | word_count
----------------|-----------
21 | 3
LIST
'Develop' 카테고리의 다른 글
[PostgreSQL] 함수(function)나 프로시저(procedure) 내용을 검색하거나 조회하는 방법 : 한방쿼리 (1) | 2025.01.07 |
---|---|
[MyBatis] selectKey를 사용하여 생성된 키값을 Java에서 리턴받는 방법 (3) | 2024.12.31 |
REST API 개념 및 Java를 활용한 예제 (4) | 2024.12.24 |
Git에 대한 상세 설명 및 사용 방법 (3) | 2024.12.24 |
[JavaScript] 엑셀 Excel 생성하기: XLSX 라이브러리 사용 예제 (1) | 2024.12.18 |