PostgreSQL Communityエディションで提供されているvarbit拡張機能は、単純なBITタイプの操作関数のみをサポートします。 PolarDB for PostgreSQL (Compatible with Oracle) のvarbitx拡張機能は、より多くのシナリオでより多くのBITタイプの操作をサポートします。 これらのシナリオには、リアルタイムのユーザープロファイルの推奨、アクセス制御広告、および発券が含まれます。
関数
関数 | 説明 |
| 位置bで始まる指定された数cのビットを取得し、VARBITタイプの文字列を返します。 たとえば、 |
| 下付き文字列dで指定されたビットの値を値b (0または1) に変更し、元の長さを超えるビットを値c (0または1) で埋めます。 たとえば、 |
| 指定されたビット数dのうち、位置cから始まる値b (0または1) の数をカウントします。 指定された長さを超えるビットはカウントされません。 たとえば、 |
| 値b (0または1) の総数をカウントします。 たとえば、 |
| 指定された数bのビットを値a (0または1) で埋めます。 たとえば、 |
| 指定されたビット数aからランダムな割合cのビットを取得し、取得したビットを値b (0または1) でランダムに埋めます。 例えば、 |
| 下付き文字配列を返します。 添字配列は、値がb (0または1) であるビットの位置を示す。 下付き文字は0から始まります。 cの値がtrueの場合、サブスクリプトは正の順序で返されます。 cの値がfalseの場合、サブスクリプトは負の順序で返されます。 たとえば、 |
| 下付き文字配列を返します。 添字配列は、値がb (0または1) であるビットの位置を示す。 下付き文字配列の下付き文字の数はcです。 下付き文字は0から始まります。 dの値がtrueの場合、サブスクリプトは正の順序で返されます。 dの値がfalseの場合、添え字は負の順序で返されます。 たとえば、 |
| 位置bから始まるビットの指定数cを取得し、取得したビットのうち値がd (0または1) であるビットを識別し、下付き文字配列を返す。 下付き文字配列は、識別されたビットの位置を示す。 たとえば、 |
| 下付き文字配列cで指定されるビットを取得し、取得したビットのうち値がb (0または1) であるビットを識別し、下付き文字配列を返す。 下付き文字配列は、識別されたビットの位置を示す。 添字配列cに含まれないビットはカウントされない。 たとえば、 |
| 下付き文字配列dで指定されたビットの値を値b (0または1) に変更し、元の長さを超えるビットを値c (0または1) で埋めます。 返されるビット数はeです。 たとえば、 |
| 下付き文字配列dで指定されたビットの値を値b (0または1) に変更し、元の長さを超えるビットを値c (0または1) で埋めます。 この関数は、ビット列だけでなく、添え字配列も返します。 下付き文字配列は、値が変更されるビットの位置を示す。 たとえば、 |
| 下付き文字配列dで指定されたビットの値を値b (0または1) に変更し、元の長さを超えるビットを値c (0または1) で埋めます。 この関数は、ビット列だけでなく、添え字配列も返します。 下付き文字配列は、値が変更されるビットの位置を示す。 この関数は、合計eビットの値を変更した直後に結果を返します。 たとえば、 |
| 添字配列cで指定されるビットのうち、値b (0または1) の数をカウントします。 たとえば、 |
使用法
varbitx拡張機能を作成する
CREATE EXTENSION varbitx;varbitx拡張子の削除
DROP EXTENSION varbitx;関数の呼び出し
SELECT <function>ステートメントを実行して、関数を呼び出すことができます。 例:bit_count関数
select bit_count('1111000011110000', 1, 5, 4);サンプル結果:
bit_count ----------- 1 (1 row)set_bit_array_record関数
select set_bit_array_record('111100001111', 1, 0, array[1,4,5,6,7], 2);サンプル結果:
set_bit_array_record ------------------------ (111111001111,"{4,5}") (1 row)
関数とその説明の詳細については、「サポートされている関数」をご参照ください。