PostgreSQL에서 문자열의 하위 문자열 생성

Postgresqleseo Munjayeol Ui Hawi Munjayeol Saengseong



문자열에서 특정 섹션(하위 문자열)을 추출하려는 경우가 있습니다. 주어진 섹션에만 관심이 있고 출력에서 ​​문자열의 다른 섹션을 생략하고 싶을 수도 있습니다. 'fname lname'과 같은 전체 이름이 하나의 문자열로 있고 출력에서 ​​'fname'만 추출하려는 경우를 상상해 보십시오. 이를 위해서는 PostgreSQL 하위 문자열 함수를 사용해야 합니다. PostgreSQL에서 문자열의 하위 문자열을 생성하는 방법을 이해하는 데 도움이 되는 예제를 포함하여 따라야 할 자세한 가이드를 준비했습니다.

PostgreSQL에서 문자열의 하위 문자열을 생성하는 방법에 대한 예

가장 먼저 확인해야 할 것은 구문입니다.

SUBSTRING(문자열/열_이름, 시작_위치, 길이)

주어진 구문에서 하위 문자열을 생성하려는 문자열을 지정하거나 테이블의 열을 지정할 수 있습니다. 다음으로, 부분 문자열이 시작될 문자열의 위치를 ​​지정해야 합니다. 마지막으로 하위 문자열의 길이나 문자열의 끝 위치를 지정합니다. 실제로 작동하는 모습을 보려면 몇 가지 예를 들어 보겠습니다.







예 1: 하위 문자열 길이 지정

대상 문자열이 있으면 하위 문자열의 길이를 설정할 수 있습니다. 예를 들어 문자열이 'Linuxhint'이고 하위 문자열을 'Linux'로 생성하려면 다음 명령을 실행합니다.



SELECT SUBSTRING('Linuxhint' FROM 1 FOR 5) AS 사용자 이름;

FROM 키워드를 사용하여 시작 위치를 지정하고 FOR 키워드를 사용하여 하위 문자열의 길이를 지정합니다. '사용자 이름'은 출력에 부여하는 이름입니다.



명령을 실행하면 다음과 같은 출력을 얻습니다. 원하는 하위 문자열을 어떻게 출력으로 얻었는지 확인하세요.





문자열의 다른 시작 위치에서 생성된 하위 문자열을 원한다고 가정합니다. 예를 들어 '힌트'를 하위 문자열로 사용하려면 시작 위치와 길이만 변경하면 됩니다.



이를 위해 다음과 같이 명령을 실행합니다.

예 2: 하위 문자열의 위치 지정

때로는 문자열이 있지만 하위 문자열의 정확한 길이를 모르는 경우가 있습니다. 그러나 하위 문자열 생성을 시작할 위치를 지정할 수 있습니다. 출력에는 지정된 위치부터 끝까지 모든 문자열 섹션이 표시됩니다.

이 예에서는 'Hello Linuxhint'라는 문자열이 있습니다. 위치를 지정하지 않고 'Linuxhint'를 하위 문자열로 얻으려면 하위 문자열을 생성할 위치를 지정하기만 하면 됩니다. 이 경우 위치 6에서 시작합니다. 따라서 명령은 다음과 같습니다.

SELECT SUBSTRING('Hello Linuxhint' FROM 6) AS 사용자 이름;

예 3: 시작 및 끝 위치 지정

문자열이 주어지면 시작 위치와 끝 위치를 지정하여 하위 문자열을 생성할 수 있습니다. 이렇게 하면 문자열의 길이가 원하는 하위 문자열보다 길더라도 지정된 시작 및 끝 위치를 기준으로만 문자열이 생성됩니다.

“Hello Linuxhint”를 문자열로 사용하여 하위 문자열을 “Hello Linux”로 만들고 다음과 같이 시작 및 끝 위치를 지정하여 다른 섹션을 생략할 수 있습니다.

SELECT SUBSTRING('Hello Linuxhint', 1, 11) AS 사용자 이름;

이 경우에는 키워드가 필요하지 않으며 시작 위치와 끝 위치만 필요합니다.

예제 4: PostgreSQL 테이블 작업

테이블의 특정 열에서 선택한 값을 기반으로 하위 문자열을 생성할 수도 있습니다. 이 예에서는 '고객' 테이블을 사용합니다.

'cust_email' 열을 대상으로 하고 길이를 지정하여 하위 문자열을 생성한다고 가정해 보겠습니다. 우리는 다음과 같은 명령을 받게 됩니다:

열의 각 값에 대해 출력이 원래 문자열의 길이가 3인 하위 문자열이라는 점에 유의하세요.

이름 열의 전체 이름으로 테이블을 업데이트하겠습니다. 새 테이블은 다음과 같습니다.

이제 각 클라이언트의 이름인 name 열에서 첫 번째 섹션만 추출하려면 name 열에 대한 하위 문자열을 생성하면 됩니다. 여기서는 시작 위치를 지정해야 합니다. 하위 문자열의 길이는 각 문자열에서 공백이 있는 위치로 설정합니다.

공백은 이름과 성 사이의 구분을 표시합니다. 따라서 우리의 명령은 문자열에서 공백이 시작되는 위치를 확인합니다. 그런 다음 첫 번째 위치부터 공백과 만나는 위치까지 하위 문자열을 선택합니다.

다음과 같이 명령을 실행합니다.

SELECT order_id, SUBSTRING(name FROM 1 FOR POSITION( ' ' IN name) – 1) AS client_fname FROM 고객;

'order_id'와 하위 문자열을 선택하면 출력이 다음과 같이 나타납니다.

이것이 PostgreSQL 테이블의 문자열에서 하위 문자열을 생성하는 방법입니다.

결론

PostgreSQL은 사용자가 다양한 기준을 사용하여 하위 문자열을 생성할 수 있는 하위 문자열 기능을 제공합니다. 목표에 따라 부분 문자열의 길이나 시작 및 끝 위치를 지정할 수 있습니다. 이 게시물에서 다루는 예제는 PostgreSQL에서 하위 문자열을 생성하는 데 익숙해지는 데 도움이 될 것입니다. 개념을 파악하기 위해 계속 연습하세요.