すべてのプロダクト
Search
ドキュメントセンター

PolarDB:ビット文字列関数と演算子

最終更新日:May 31, 2024

ここでは、typesbitandbitの値が変化するビット列を調べて操作するための関数と演算子について説明します。 (これらの表ではtypebitisのみが言及されていますが、typebit varyingの値は同じ意味で使用できます。)

ビット文字列演算子

bit | bitbit

連結

B'10001' | | B'011'10001011

bit & bitbit

ビット単位のAND (入力は同じ長さでなければなりません)

B'10001' & B'01101'00001

bit | bitbit

ビット単位OR (入力は同じ長さでなければなりません)

B'10001' | B'01101'11101

bit# bitbit

ビットごとの排他的OR (入力は同じ長さでなければなりません)

B'10001' # B'01101'11100

~ ビットビット

ビット単位ではない

~ B'10001'01110

bit << integerbit

ビット単位で左シフト (文字列の長さは保持されます)

B'10001' << 3 01000

bit >> integerbit

ビット右シフト (文字列の長さは保持されます)

B'10001' >> 2 00100

バイナリ文字列で使用できる関数の一部は、次の表に示すように、ビット文字列でも使用できます。

ビット文字列関数

bit_length (bit) → integer

ビット文字列のビット数を返します。

bit_length(B'10111)5

length (ビット) → 整数

ビット文字列のビット数を返します。

長さ (B'10111 ') 5

octet_length (bit) → integer

ビット文字列のバイト数を返します。

オクテット長 (B'1011111011') 2

overlay (bits bit PLACING newsubstring bit FROM start integer [FOR count integer] ) → bit

開始番目のビットで開始し、カウントビットに拡張するビットの部分文字列を新しい部分文字列に置き換えます。 countを省略した場合、デフォルトではnewsubstringの長さになります。

オーバーレイ (B'010101010101010' を配置するB'11111' from 2 for 3)0111110101010101010

位置 (substring bit IN bits bit) → integer

bits内の指定された部分文字列の最初の開始インデックスを返します。存在しない場合はゼロです。

position (B'000001101011' のB'010')8

substring (bits bit [FROM start integer] [FOR count integer] ) → bit

指定されている場合は、開始番目のビットから開始し、指定されている場合はビットをカウントした後に停止する部分文字列を抽出します。 startcountの少なくとも1つを指定します。

部分文字列 (B'110010111111' から3 for 2)00

get_bit (bits bit, n integer) → integer

ビット列からn番目のビットを抽出する。最初の (左端の) ビットはビット0である。

get_bit (B'1010101010101010', 6)1

set_bit (bits bit, n integer, newvalue integer) → bit

ビット列のn番目のビットをnewvalueに設定します。最初の (左端の) ビットはビット0です。

set_bit (B'1010101010101010', 6, 0)101010001010101010

さらに、型ビットとの間で整数値をキャストすることも可能である。 整数をbit(n) にキャストすると、右端のnビットがコピーされます。 整数自体よりも広いビット文字列幅に整数をキャストすると、左側に符号拡張されます。 いくつかの例:

44::bit (10) 0000101100
    44::bit (3) 100
    キャスト (ビット (12) として-44) 111111010100
    '1110'::bit(4)::integer 14 

「ビット」のみにキャストすることは、ビット (1) にキャストすることを意味し、したがって、整数の最下位ビットのみを配信することに留意されたい。