PostgreSQL 정규식 예제를 사용한 SUBSTRING() 함수
PostgreSQL 하위 문자열?
The PostgreSQL substring 함수는 문자열의 일부를 추출하고 반환하는 데 도움이 됩니다. 전체 문자열을 반환하는 대신 일부만 반환합니다.
통사론
The PostgreSQL substring 함수는 다음 구문을 사용합니다.
substring( string [from starting_position] [for length] )
파라미터
성함 | 상품 설명 |
---|---|
현 | 데이터 유형이 varchar, char, string 등인 소스 문자열입니다. |
시작_위치 | 선택적 매개변수입니다. 문자열 추출이 시작되는 위치를 나타냅니다. 이 매개변수를 생략하면 문자열의 첫 번째 문자인 위치 1부터 추출이 시작됩니다. |
길이 | 선택적 매개변수입니다. 문자열에서 추출할 문자 수를 나타냅니다. 이 매개변수를 생략하면 함수는 Starting_position부터 문자열 끝까지 추출합니다. |
예
이 예에서는 Guru4라는 단어에서 처음 99자를 추출하려고 합니다.
SELECT substring('Guru99' for 4);
이 명령은 다음을 반환합니다.
시작 위치를 지정하지 않았으므로 부분 문자열 추출은 위치 1부터 시작됩니다. 위의 내용을 반환하기 위해 4자를 추출했습니다.
다음 예에서는 시작 위치를 지정하는 방법을 보여줍니다.
SELECT substring('Guru99' from 1 for 4);
이 명령은 다음을 반환합니다.
부분 문자열 추출은 위치 1부터 시작하여 4자를 추출하도록 지정했습니다.
Guru99 문자열에서 99를 추출해 보겠습니다.
SELECT substring('Guru99' from 5);
이 명령은 다음을 반환합니다.
시작 위치를 5로 지정했습니다. 추출할 문자 개수를 지정하지 않았기 때문에 문자열의 끝까지 추출이 진행되었습니다.
다음은 또 다른 예입니다.
SELECT substring('Guru99' from 5 for 2);
이 명령은 다음을 반환합니다.
5번째 위치에서 추출을 시작하여 2개의 문자가 추출되었습니다.
아래에 주어진 Book 테이블을 고려하십시오:
우리는 각 책의 이름에 대해 대략적인 아이디어를 얻고 싶습니다. 그러나 테이블의 이름 열에서는 처음 15자만 추출할 수 있습니다.
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
이 명령은 다음을 반환합니다.
이제 우리는 모든 책의 이름에 대해 대략적인 아이디어를 얻었습니다.
SQL 정규식을 사용하여 하위 문자열 일치
In PostgreSQL, 우리는 지정된 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;
이 명령은 다음을 반환합니다.
입력 문자열은 '당신의 나이는 22입니다. 패턴에서 문자열에서 숫자 패턴을 검색하고 있는데, 이것이 발견되면 하위 문자열 함수는 두 개의 문자만 추출해야 합니다.
pgAdmin을 사용하여 하위 문자열을 일치시키는 방법
이제 pgAdmin을 사용하여 작업이 어떻게 수행되는지 살펴보겠습니다.
데이터베이스가 필요 없는 위의 쿼리는 쿼리 편집기 창에서 직접 실행할 수 있습니다. 다음을 수행하세요.
단계 1) 계정에 로그인합니다.
pgAdmin 계정에 로그인하세요.
단계 2) pgAdmin에서,
검색어 도구 아이콘을 클릭합니다.
쿼리 편집기 창이 열립니다.
단계 3) 쿼리를 입력하세요.
편집기 창에 다음 쿼리를 입력하세요.
SELECT substring('Guru99' for 4);
단계 4) 쿼리 실행
실행 아이콘을 클릭하여 쿼리를 실행합니다.
단계 5) 쿼리 실행이 완료되었습니다.
다음을 반환해야 합니다.
예 2 :
SELECT substring('Guru99' from 1 for 4);
다음을 반환해야 합니다.
다음 예는 다음과 같습니다.
SELECT substring('Guru99' from 5);
다음을 반환해야 합니다.
예 3 :
SELECT substring('Guru99' from 5 for 2);
다음을 반환해야 합니다.
이제 Demo 데이터베이스의 Book 테이블을 사용하여 예제를 실행해 보겠습니다.
단계 1) pgAdmin 계정에 로그인하세요.
단계 2)
- 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
- 데모를 클릭하세요.
단계 3) 쿼리 편집기에 쿼리를 입력합니다.
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
단계 4) 실행 버튼을 클릭하세요.
다음을 반환해야 합니다.
이제 우리는 모든 책의 이름에 대한 기본 개념을 갖게 되었습니다.
SQL 정규식을 사용하여 하위 문자열 일치
pgAdmin에서 동일한 작업을 수행하려면 다음을 수행하세요.
단계 1) pgAdmin 계정에 로그인하세요.
단계 2) 검색어 도구 아이콘을 클릭합니다.
쿼리 편집기 창이 열립니다.
단계 3) 편집기 창에 다음 쿼리를 입력하세요.
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
단계 4) 실행 아이콘을 클릭하여 쿼리를 실행합니다.
다음을 반환해야 합니다.
요약
- The PostgreSQL 하위 문자열 함수는 문자열의 일부만 추출하고 반환하는 데 도움이 됩니다.
- 문자열의 첫 번째 문자는 위치 1에 있습니다.
- 문자열에서 추출할 문자 개수를 지정하지 않으면 지정된 시작 위치부터 문자열 끝까지 문자를 추출합니다.
- 추출할 문자 수를 지정하면 해당 문자 수만 추출됩니다.