> 데이터 베이스 > MySQL 튜토리얼 > PostgreSQL 9.6 이상에서 배열 첨자 범위를 어떻게 정규화할 수 있습니까?

PostgreSQL 9.6 이상에서 배열 첨자 범위를 어떻게 정규화할 수 있습니까?

Linda Hamilton
풀어 주다: 2025-01-09 12:21:45
원래의
184명이 탐색했습니다.

How Can I Normalize Array Subscript Ranges in PostgreSQL 9.6 and Later?

PostgreSQL 9.6 이상에서 배열 첨자 범위 정규화

PostgreSQL의 배열 첨자는 모든 인덱스에서 시작할 수 있습니다. 그러나 많은 응용 프로그램에서는 1부터 시작하는 균일하게 인덱스된 배열을 선호합니다. 이 문서에서는 이 규칙을 따르도록 1차원 배열을 정규화하는 방법에 대해 설명합니다.

기존 솔루션

처음에는 array_lowerarray_upper 함수를 사용하는 복잡한 솔루션을 사용하여 첨자를 정규화했습니다. 이러한 방법은 효과적이긴 하지만 복잡하고 우아하지 않습니다.

PostgreSQL 9.6을 위한 단순화

PostgreSQL 9.6이 출시되면서 더욱 간단한 솔루션이 등장했습니다. 매뉴얼에서는 슬라이스 지정자의 하한 및/또는 상한을 생략하는 기능에 대해 설명합니다. 그러면 기본적으로 배열의 최소 또는 최대 첨자가 사용됩니다.

균일하지 않은 첨자로 배열 리터럴을 정규화하려면:

SELECT (my_arr[:]);
로그인 후 복사

이 예에서는 모호성을 해결하기 위해 괄호가 필요합니다.

SELECT ('[5:7]={1,2,3}'::int[][:]);
로그인 후 복사

이 단순화된 구문은 이전 솔루션과 유사한 성능을 달성합니다. 이전 PostgreSQL 버전(9.5 이하)의 경우에도 array_lowerarray_upper과 고정된 최대 첨자를 사용하는 것이 좋습니다.

위 내용은 PostgreSQL 9.6 이상에서 배열 첨자 범위를 어떻게 정규화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿