ホームページ >データベース >mysql チュートリアル >PostgreSQL 9.6 以降で配列の添字範囲を正規化するにはどうすればよいですか?

PostgreSQL 9.6 以降で配列の添字範囲を正規化するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-09 12:21:45128ブラウズ

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

PostgreSQL 9.6 以降での配列添字範囲の正規化

PostgreSQL の配列添字は、任意のインデックスから開始できます。ただし、多くのアプリケーションでは、1 から始まる均一なインデックスの配列が好まれます。この記事では、この規則に従って 1 次元配列を正規化する方法について説明します。

既存のソリューション

最初は、array_lower 関数と array_upper 関数を使用した複雑な解決策が添え字を正規化するために使用されました。これらの方法は効果的ではありますが、複雑で洗練されていません。

PostgreSQL 9.6 の簡略化

PostgreSQL 9.6 のリリースにより、より簡単なソリューションが提供されます。このマニュアルでは、スライス指定子の下限および/または上限を省略する機能について説明しています。これにより、デフォルトで配列の最小または最大の添字が設定されます。

不均一な添字を使用して配列リテラルを正規化するには:

<code class="language-sql">SELECT (my_arr[:]);</code>

この例では、曖昧さを解決するためにかっこが必要です。

<code class="language-sql">SELECT ('[5:7]={1,2,3}'::int[][:]);</code>

この簡略化された構文は、以前のソリューションと同様のパフォーマンスを実現します。以前の PostgreSQL バージョン (9.5 以前) では、array_lowerarray_upper および固定最大添字を使用することをお勧めします。

以上がPostgreSQL 9.6 以降で配列の添字範囲を正規化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。