감자의 개발공부 일지

[PostgreSQL] 문자열 함수(SUBSTRING, LENGTH, UPPER, REGEXP_REPLACE) 본문

DB

[PostgreSQL] 문자열 함수(SUBSTRING, LENGTH, UPPER, REGEXP_REPLACE)

Elie_J 2025. 3. 10. 13:54
반응형

1. SUBSTRING

=> SUBSTRING 함수는 문자열에서 지정한 부분 문자열을 추출

 

문법

SUBSTRING(string FROM start FOR length)

 

  • string: 분석할 문자열
  • start: 추출을 시작할 위치 (1부터 시작)
  • length: 추출할 길이

예제1

SELECT SUBSTRING('Hello, PostgreSQL!' FROM 1 FOR 5) AS result;

 

 

결과1

'Hello'

 

예제2 (패턴 사용)

SELECT SUBSTRING('PostgreSQL 12.5' FROM '[0-9]+') AS result;

 

결과2

12

=> 정규 표현식 [0-9]+를 사용하여 숫자 부분만 추출

 

 

2. UPPER

=> UPPER 함수는 문자열을 모두 대문자로 변환

 

UPPER(string)
  • string: 변환할 문자열

예제

SELECT UPPER('Hello, World!') AS result;

 

결과

'HELLO, WORLD!'

=>  'Hello, World!' 문자열을 대문자로 변환

 

3. LOWER

=> LOWER 함수는 문자열을 모두 소문자로 변환

 

문법

LOWER(string)
  • string: 변환할 문자열

예제

SELECT LOWER('Hello, World!') AS result;

 

결과

'hello, world!'

=>  'Hello, World!' 문자열을 소문자로 변환

 

4. REPLACE

=> REPLACE 함수는 문자열에서 지정한 부분 문자열을 다른 문자열로 대체

 

문법

REPLACE(string, search, replace)

 

  • string: 원본 문자열
  • search: 대체할 부분 문자열
  • replace: 대체할 문자열

예제

SELECT REPLACE('Hello, World!', 'World', 'PostgreSQL') AS result;

 

 

결과

'Hello, PostgreSQL!'

 

 

5. REGEXP_REPLACE

=> REGEXP_REPLACE 함수는 정규 표현식을 사용하여 문자열에서 특정 패턴을 찾아 대체

 

문법

REGEXP_REPLACE(string, pattern, replacement [, start [, match_occurrence [, return_substring [, flags]]]])

 

  • string: 원본 문자열
  • pattern: 대체할 패턴 (정규 표현식)
  • replacement: 대체할 문자열
  • start: 검색을 시작할 위치 (기본값은 1)
  • match_occurrence: 대체할 일치 항목 (기본값은 0, 모든 일치 항목)
  • return_substring: 반환할 값 (기본값은 0, 수정된 문자열 반환)

예제1

SELECT REGEXP_REPLACE('123-456-7890', '\D', '', 'g') AS result;

 

 

결과1

'1234567890'

=> '123-456-7890'에서 숫자가 아닌 모든 문자를 제거하여 '1234567890'을 반환 여기서 \D는 숫자가 아닌 문자를 의미하며, g 플래그는 전체 문자열에서 모든 일치를 찾아 교체하라는 뜻

 

예제2

SELECT REGEXP_REPLACE('I have a cat and a dog', '\b(\w+)\b', '\1!', 'g') AS result;

 

결과2

'I! have! a! cat! and! a! dog!'

=> 각 단어 뒤에 !를 추가. \b(\w+)\b는 단어 경계를 나타내며, 각 단어 뒤에 !를 추가하는 정규 표현식을 사용

반응형