PostgreSQL 정규식 예제를 사용한 SUBSTRING() 함수

⚡ 스마트 요약

PostgreSQL 부분 문자열 예trac`ts` 함수는 선택적으로 시작 위치와 길이를 지정하여 문자열의 일부를 반환하며, POSIX 정규 표현식과 텍스트를 비교하여 숫자나 코드와 같은 패턴을 추출하기도 합니다.

  • 📋 구문 : substring( 문자열 [시작 부분] [길이] )은 원본 문자열의 일부를 반환합니다.
  • 1️⃣ 자세 : 문자 위치는 1부터 시작하며, 길이를 생략하면 문자열 끝까지 읽습니다.
  • 🔎 정규 표현식: 패턴의 문자열 부분 추출 예시tracPOSIX 정규 표현식과 일치하는 첫 번째 텍스트입니다.
  • 🧮 Grouping: 패턴에서 괄호로 묶인 그룹은 일치하는 부분 중 캡처된 부분만 반환합니다.
  • 🖥️ pgAdmin: pgAdmin 쿼리 편집기 내에서는 모든 부분 문자열 쿼리가 동일한 방식으로 실행됩니다.
  • 🤖 AI 도움말: AI 비서는 정확한 부분 문자열 추출을 위한 정규 표현식 패턴을 생성하고 설명합니다.trac기.

PostgreSQL 정규 표현식을 사용한 부분 문자열 함수

PostgreSQL 하위 문자열?

The PostgreSQL 부분 문자열 함수는 예를 들어 다음과 같은 작업을 수행하는 데 도움이 됩니다.trac`t`를 사용하면 문자열의 일부를 반환합니다. 전체 문자열을 반환하는 대신 문자열의 일부만 반환하므로 코드 정리 및 고정 너비 필드 읽기에 유용합니다.

통사론

The PostgreSQL substring 함수는 다음 구문을 사용합니다.

substring( string [from starting_position] [for length] )

파라미터

부분 문자열 함수에는 다음과 같은 매개변수가 사용됩니다.

데이터 유형이 varchar, char, string 등인 소스 문자열입니다.
시작_위치 선택적 매개변수입니다. 이는 ex가 위치한 곳을 나타냅니다.trac문자열의 시작 부분이 표시됩니다. 이 매개변수를 생략하면 예시는 다음과 같습니다.traction은 문자열의 첫 번째 문자인 1번째 위치부터 시작합니다.
길이 선택적 매개변수입니다. 출력할 문자 수를 나타냅니다.trac문자열에서 추출합니다. 이 매개변수를 생략하면 함수는 실행되지 않습니다.trac시작 위치부터 문자열 끝까지의 ts 값입니다.

이 예시에서는, 우리는 다음을 보여주고자 합니다.tract 단어의 처음 4개 문자 Guru99 :

SELECT substring('Guru99' for 4);

이 명령은 다음을 반환합니다.

PostgreSQL 하위 문자열

우리는 시작 위치를 지정하지 않았으므로, ex는trac부분 문자열의 추출은 1번째 위치에서 시작되었습니다. 네 개의 문자가 추출되었습니다.trac위의 결과를 반환하도록 설정했습니다.

다음 예에서는 시작 위치를 지정하는 방법을 보여줍니다.

SELECT substring('Guru99' from 1 for 4);

이 명령은 다음을 반환합니다.

PostgreSQL 하위 문자열

우리는 전직을 명시했습니다trac부분 문자열의 추출은 1번째 위치부터 시작해야 하며, 4개의 문자가 선택되어야 합니다.trac테드.

예를 들어 보겠습니다trac문자열에서 t 99 Guru99 :

SELECT substring('Guru99' from 5);

이 명령은 다음을 반환합니다.

PostgreSQL 하위 문자열

시작 위치를 5로 지정했습니다. 예시로 보여줄 문자 수가 5이기 때문입니다.trac테드는 명시되지 않았습니다.traction은 문자열의 끝까지 실행되었습니다.

다음은 또 다른 예입니다.

SELECT substring('Guru99' from 5 for 2);

이 명령은 다음을 반환합니다.

PostgreSQL 하위 문자열

우리는 ex를 시작했습니다trac5번째 위치에 tion이 있고 2개의 문자가 ex였습니다.trac테드.

아래에 주어진 Book 테이블을 고려하십시오:

PostgreSQL 부분 문자열 책 테이블

각 책의 대략적인 제목을 알고 싶습니다. 예를 들어,trac표의 이름 열에서 처음 15자만 가져오세요:

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

이 명령은 다음을 반환합니다.

PostgreSQL 부분 문자열 결과

이제 우리는 모든 책의 이름에 대해 대략적인 아이디어를 얻었습니다.

SQL 정규식을 사용하여 하위 문자열 일치

In PostgreSQL, 당신은 할 수 있습니다trac지정된 POSIX 정규 표현식과 일치하는 부분 문자열을 반환합니다. 이 경우 부분 문자열 함수는 다음 구문을 사용합니다.

SUBSTRING(string FROM matching_pattern)

or

SUBSTRING(string, matching_pattern);

다음은 위 매개변수에 대한 설명입니다. 해당 문자열은 소스 문자열이며, 데이터 형식 `varchar`, `char`, `string` 등이 있습니다. `matching_pattern`은 문자열에서 검색하는 데 사용되는 패턴입니다.

SELECT
   SUBSTRING (
      'Your age is 22',
      '([0-9]{1,2})'
   ) as age;

이 명령은 다음을 반환합니다.

SQL 정규식을 사용하여 하위 문자열 일치

입력 문자열은 "당신의 나이는 22세입니다."입니다. 패턴에서 숫자 패턴을 찾고, 해당 패턴이 발견되면 부분 문자열 함수를 실행합니다.trac글자는 두 개뿐입니다.

pgAdmin을 사용하여 부분 문자열을 일치시키는 방법

이제 pgAdmin을 사용하여 이러한 작업을 수행하는 방법을 살펴보겠습니다. 데이터베이스가 필요하지 않은 쿼리는 쿼리 편집기 창에서 직접 실행할 수 있습니다. 다음 단계를 따르세요.

단계 1) pgAdmin 계정에 로그인하세요.

단계 2) pgAdmin에서 쿼리 도구 아이콘을 클릭합니다.

pgAdmin을 사용하여 하위 문자열 일치

쿼리 편집기 창이 열립니다.

단계 3) 편집기 창에 다음 쿼리를 입력하세요.

SELECT substring('Guru99' for 4);

단계 4) 실행 아이콘을 클릭하여 쿼리를 실행합니다.

pgAdmin을 사용하여 하위 문자열 일치

단계 5) 쿼리 실행이 완료되었습니다. 다음과 같은 결과가 반환되어야 합니다.

pgAdmin을 사용하여 하위 문자열 일치

예 2 :

SELECT substring('Guru99' from 1 for 4);

다음을 반환해야 합니다.

pgAdmin을 사용하여 하위 문자열 일치

다음 예는 다음과 같습니다.

SELECT substring('Guru99' from 5);

다음을 반환해야 합니다.

pgAdmin을 사용하여 하위 문자열 일치

예 3 :

SELECT substring('Guru99' from 5 for 2);

다음을 반환해야 합니다.

pgAdmin을 사용하여 하위 문자열 일치

이제 Demo 데이터베이스의 Book 테이블을 사용하여 예제를 실행해 보겠습니다.

단계 1) pgAdmin 계정에 로그인하세요.

단계 2) 왼쪽 탐색 모음에서 데이터베이스를 클릭한 다음 데모를 클릭합니다.

pgAdmin을 사용하여 하위 문자열 일치

단계 3) 쿼리 편집기에 쿼리를 입력합니다.

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

단계 4) 실행 버튼을 클릭하세요.

pgAdmin을 사용하여 하위 문자열 일치

다음을 반환해야 합니다.

PostgreSQL 부분 문자열 결과

이제 우리는 모든 책의 이름에 대한 기본 개념을 갖게 되었습니다.

SQL 정규식을 사용하여 하위 문자열 일치

pgAdmin에서 동일한 작업을 수행하려면 다음을 수행하세요.

단계 1) pgAdmin 계정에 로그인하세요.

단계 2) 검색어 도구 아이콘을 클릭합니다.

SQL 정규식을 사용하여 하위 문자열 일치

쿼리 편집기 창이 열립니다.

단계 3) 편집기 창에 다음 쿼리를 입력하세요.

SELECT
   SUBSTRING (
      'Your age is 22',
      '([0-9]{1,2})'
   ) as age;

단계 4) 실행 아이콘을 클릭하여 쿼리를 실행합니다.

SQL 정규식을 사용하여 하위 문자열 일치

다음을 반환해야 합니다.

SQL 정규식을 사용하여 하위 문자열 일치

이 튜토리얼에 사용된 데이터베이스 다운로드

자주 묻는 질문

SUBSTR은 SUBSTRING의 간략한 별칭으로, 문자열의 일부를 반환합니다. SUBSTRING은 SQL 표준 FROM 및 FOR 키워드와 POSIX 정규 표현식을 지원하는 반면, SUBSTR은 쉼표로 구분된 위치와 길이 인수만 허용합니다.

PostgreSQL SUBSTRING 함수는 1부터 시작하므로 첫 번째 문자는 0이 아닌 1번째 위치에 있습니다. 시작 위치를 1로 지정하면 첫 번째 문자부터 시작하는 문자열이 반환됩니다.

POSIX 패턴이 일치하는 항목이 없을 경우, SUBSTRING 함수는 빈 문자열 대신 NULL을 반환합니다. IS NULL 함수를 사용하여 결과를 검사하면 예상 패턴이 없는 행도 처리할 수 있습니다.

해당 문자 뒤에 오는 내용을 캡처하는 정규 표현식을 사용하세요. 예를 들어, SUBSTRING(email FROM '@(.*)')는 '@' 기호 뒤의 모든 내용을 반환하여 각 이메일 주소의 도메인 부분을 제공합니다.

첫 번째 일치하는 텍스트를 단순 값으로 얻으려면 SUBSTRING 함수를 사용하십시오. 모든 일치 항목 또는 여러 캡처 그룹을 배열로 반환하려면 regexp_matches() 함수를 선택하십시오. SUBSTRING 함수는 첫 번째 일치 항목만 반환합니다.

GitHub Copilot과 같은 AI 비서는 일반 영어 설명을 POSIX 패턴으로 변환하고, 각 토큰이 무엇에 해당하는지 설명하며, 테스트 문자열을 제안하여 부분 문자열 검색을 구축할 때 시행착오를 줄여줍니다.trac질의응답.

네. 원하는 텍스트 부분을 설명하시면 AI 도우미가 정확한 위치 또는 정규 표현식을 사용하여 SUBSTRING 호출을 생성해 드립니다. 이 호출을 pgAdmin에서 실행하고 수정할 수 있습니다.

네, POSIX 부분 문자열 매칭은 기본적으로 대소문자를 구분합니다. 대소문자를 구분하지 않고 매칭하려면 두 입력값을 모두 소문자로 바꾸세요. 예를 들어 SUBSTRING(lower(name) FROM lower(pattern))과 같이 사용하면 대문자와 소문자를 동일하게 처리할 수 있습니다.

이 게시물을 요약하면 다음과 같습니다.