PostgreSQL 配列の添字を 1 から始まるように簡単に正規化するにはどうすればよいですか?
Jan 09, 2025 pm 12:12 PMPostgreSQL 配列添字を正規化するための簡略化された方法
PostgreSQL では、配列添字を任意の値から開始できます。ただし、場合によっては、インデックス 1 から始まるように 1 次元配列を正規化する必要があります。
前のソリューションでは、array_lower()
関数と array_upper()
関数を使用して目的の添字範囲を指定しました。
SELECT ('[5:7]={1,2,3}'::int[])[array_lower('[5:7]={1,2,3}'::int[], 1):array_upper('[5:7]={1,2,3}'::int[], 1)]
このアプローチは機能しますが、PostgreSQL 9.6 ではより洗練されたソリューションが登場しました。ドキュメントでは、スライス指定子の下限および/または上限を省略できるようになりました。省略した場合、欠落している境界はデフォルトで最小または最大の配列インデックスになります。
この機能を使用すると、正規化プロセスが非常に簡単になります:
SELECT my_arr[:];
ここで示した例では、括弧によって構文が明確になっています。
SELECT ('[5:7]={1,2,3}'::int[])[:];
この最適化されたソリューションは、前世代のソリューションと同様に動作するため、PostgreSQL 9.6 以降で推奨される方法です。古いバージョン (9.5 以前) では、配列添字の最大値をハードコーディングすることが依然として推奨されるアプローチです。
以上がPostgreSQL 配列の添字を 1 から始まるように簡単に正規化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか?

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし)

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド

共通の脆弱性(SQLインジェクション、ブルートフォース攻撃)に対してMySQLを保護するにはどうすればよいですか?

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか?
