PostgreSQL의 배열 길이

Bilal Shahid 2023년6월20일
  1. PostgreSQL array_length() 기능
  2. PostgreSQL cardinality() 기능
  3. array_length() 함수를 사용하여 PostgreSQL에서 배열 길이 가져오기
  4. cardinality() 함수를 사용하여 PostgreSQL에서 배열 길이 가져오기
  5. 결론
PostgreSQL의 배열 길이

이 문서에서는 PostgreSQL의 두 함수 array_length()cardinality() 중 하나를 사용하여 배열의 길이를 계산하는 방법에 대해 설명합니다. 이 두 함수는 PostgreSQL의 여러 예제와 함께 자세히 설명되어 있습니다.

배열은 PostgreSQL에서 데이터 유형으로 사용되었습니다. 다양한 기능이 어레이 사용과 연관되어 있습니다.

배열 길이 계산에서 특정 배열 요소 검색에 이르기까지 모든 것이 PostgreSQL에서 지원되는 기능으로 처리됩니다.

PostgreSQL array_length() 기능

배열 길이 계산에 도움이 되는 두 가지 필수 함수 중 하나는 array_length() 함수입니다. 배열과 길이를 계산해야 하는 해당 배열 차원(배열이 다차원인 경우)의 두 매개 변수를 사용하여 배열의 길이를 계산하는 가장 기본적인 기능입니다.

이 문서에는 array_length() 기능을 사용하여 단일 및 다차원 배열의 길이를 계산하는 예제가 포함되어 있습니다.

PostgreSQL cardinality() 기능

배열의 길이를 계산하는 데 사용되는 PostgreSQL의 두 번째 함수는 cardinality() 함수입니다. PostgreSQL 버전 9.4 이상을 실행 중인 경우 소프트웨어는 cardinality() 기능을 지원합니다.

하나의 매개변수인 어레이를 수신하여 작동합니다. 이 함수는 배열의 총 요소 수를 나타내는 정수 값을 반환합니다.

cardinality() 기능을 사용하는 예는 아래에 제공됩니다.

array_length() 함수를 사용하여 PostgreSQL에서 배열 길이 가져오기

array_length() 함수는 단일 및 다차원 배열에 사용할 수 있습니다. 다음 예제는 함수의 작동을 명확히 합니다.

예 1

다음은 1차원 배열의 길이를 계산하는 첫 번째 예입니다.

SELECT array_length(ARRAY[1,2,3], 1);

위의 쿼리는 아래 출력을 생성합니다.

PostgreSQL 배열 길이 - 예 1

예 2

빈 배열을 매개변수로 받을 때 array_length() 함수의 동작을 보여드리겠습니다.

SELECT array_length(ARRAY[]::int[], 1);

이 경우 출력이 0이라고 가정할 수 있습니다. 그러나 함수는 NULL 값을 반환합니다. 이는 array_length()가 빈 배열을 받을 때마다 NULL 값을 제공하도록 설계되었기 때문입니다.

쿼리 결과는 다음과 같습니다.

PostgreSQL 배열 길이 - 예 2

예 3

아래와 같이 차원이 누락된 배열을 수신할 때 위와 유사한 동작이 array_length() 함수에 의해 표시됩니다.

SELECT array_length(ARRAY[1,2,3], 2);

이 경우 함수는 단일 차원 배열을 매개변수로 받았습니다. 그러나 배열의 두 번째 차원 크기를 반환하도록 함수에 요청합니다. 그러면 NULL 값이 생성됩니다.

참고: array_length() 함수는 빈 배열 또는 차원이 누락된 배열을 수신할 때 동일한 값을 생성합니다. 이로 인해 배열 차원이 누락된 경우 사용자가 오류를 감지하기가 어렵습니다.

예제의 출력은 아래에 첨부되어 있습니다.

PostgreSQL 배열 길이 - 예 3

예 4

다차원 배열에서 함수의 작동에 대해 논의해 봅시다. 아래의 두 쿼리는 array_length() 함수에 대한 완전한 통찰력을 제공합니다.

쿼리 1:

2차원 배열은 array_length() 함수에 매개변수로 전달됩니다. 첫 번째 차원의 길이를 계산해야 합니다.

SELECT array_length(ARRAY[[1, 2], [3, 4], [5, 6]], 1);

쿼리는 다음 결과를 생성합니다.

PostgreSQL 배열 길이 - 예제 4 쿼리 1

쿼리 2:

두 번째 쿼리는 동일한 배열을 array_length() 함수에 매개변수로 전달합니다. 그러나 배열의 두 번째 차원의 길이를 요청합니다.

SELECT array_length(ARRAY[[1, 2], [3, 4], [5, 6]], 2);

쿼리는 다음 결과를 생성합니다.

PostgreSQL 배열 길이 - 예제 4 쿼리 2

참고: 두 개의 쿼리는 다차원 배열에서 array_length() 함수의 작동을 이해하는 훌륭한 예입니다.

cardinality() 함수를 사용하여 PostgreSQL에서 배열 길이 가져오기

cardinality() 함수는 단일 및 다차원 배열에 사용할 수 있습니다. 기능의 작동을 명확히 하는 몇 가지 예가 아래에 첨부되어 있습니다.

동일한 배열이 cardinality() 함수의 매개변수로 사용됩니다. 이것은 cardinality() 함수의 작동을 이해하고 동시에 배열 길이를 계산하는 두 가지 방법을 구별하는 데 도움이 됩니다.

예 1

array_length() 함수 섹션에서 예제 1과 동일한 배열을 사용했습니다.

SELECT cardinality(ARRAY[1,2,3]);

쿼리는 총 요소 수를 계산하고 아래와 같이 예상 결과를 표시합니다.

PostgreSQL 카디널리티 - 예 1

예 2

cardinality() 함수는 빈 배열이 매개변수로 전달될 때 다르게 작동합니다. array_length()와 달리 cardinality() 함수는 빈 배열의 경우 0을 표시합니다.

SELECT cardinality(ARRAY[]::int[]);

쿼리 결과는 아래와 같이 첨부합니다.

PostgreSQL 카디널리티 - 예 2

예 3

1차원 텍스트 기반 배열이 cardinality() 함수에 매개변수로 전달되었으며 예상대로 작동합니다.

SELECT cardinality(ARRAY['hello', 'to', 'example', 'three']);

쿼리 결과는 아래와 같이 첨부합니다.

PostgreSQL 카디널리티 - 예 3

예 4

다차원 배열을 사용하는 cardinality() 기능으로 이동하면 각 배열 차원의 총 요소 수를 반환합니다.

SELECT cardinality(ARRAY[[1, 2], [3, 4], [5, 6]]);

2차원 배열에는 총 6개의 요소가 있습니다. 따라서 cardinality() 함수도 다음과 같이 동일한 숫자를 반환해야 합니다.

PostgreSQL 카디널리티 - 예 4

실시예 5

텍스트 기반 다차원 배열은 정수 기반 다차원 배열과 유사하게 작동합니다.

SELECT cardinality(ARRAY[['hello'], ['there']]);

총 요소 수는 cardinality() 함수에 의해 반환됩니다.

PostgreSQL 카디널리티 - 예 5

결론

array_length()cardinality() 함수 모두 배열의 길이를 계산합니다. 그러나 둘 다 별도로 작동합니다. 두 함수 간의 차이점을 표시하기 위해 기사 전체에서 수많은 예제가 강조 표시되었습니다.

작가: Bilal Shahid
Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub