8.11.1 BITAND
2つのバイナリデータのビットごとの論理積を返します。
- 〈この項の構成〉
(1) 指定形式
スカラ関数BITAND::=BITAND(対象データ1,対象データ2) 対象データ1::=値式 対象データ2::=値式
(2) 指定形式の説明
- 対象データ1および対象データ2:
-
バイナリデータを指定します。
指定規則を次に示します。
-
対象データ1および対象データ2は,値式の形式で指定します。値式については,「7.21 値式」を参照してください。
-
対象データ1および対象データ2には,BINARY型またはVARBINARY型のデータを指定してください。
-
対象データ1と対象データ2のデータ長(対象データがBINARY型の場合),または実長(対象データがVARBINARY型の場合)が同じになるようにしてください。
-
対象データ1には,?パラメタを単独で指定できません。
-
対象データ2に?パラメタを単独で指定した場合,?パラメタに仮定されるデータ型とデータ長は,対象データ1のデータ型とデータ長になります。
-
スカラ関数BITANDの実行結果の例を次に示します。
- (例)
-
2つのバイナリデータのビットごとの論理積を返します。
BITAND(B'01011011',B'01001110') → B'01001010'
BITAND(B'01011011',X'FF') → B'01011011'
BITAND(X'0F',X'FF') → X'0F'
(3) 規則
-
スカラ関数BITANDの実行結果(第nビット目の値)は,次の表に示すようになります。
表8‒38 スカラ関数BITANDの実行結果(第nビット目の値) 対象データ1の第nビット目の値
対象データ2の第nビット目の値
スカラ関数BITANDの実行結果(第nビット目の値)
0
0
0
1
0
1
0
0
1
1
-
実行結果のデータ型とデータ長は,対象データ1および対象データ2のデータ型とデータ長によって決まります。スカラ関数BITANDの実行結果のデータ型とデータ長を次の表に示します。
表8‒39 スカラ関数BITANDの実行結果のデータ型とデータ長 対象データ1のデータ型およびデータ長
対象データ2のデータ型およびデータ長
実行結果のデータ型とデータ長
BINARY(m)
BINARY(m)
BINARY(m)
VARBINARY(Y)
対象データの実長:m
VARBINARY(Y)
対象データの実長:m
VARBINARY(X)
対象データの実長:m
BINARY(m)
VARBINARY(X)
対象データの実長:m
VARBINARY(Y)
対象データの実長:m
VARBINARY(MAX(X,Y))
対象データの実長:m
- (凡例)
-
m:データ長または実長
X:データ長(X≧mの場合)
Y:データ長(Y≧mの場合)
-
実行結果の値は,非ナル値制約なし(ナル値を許す)となります。
-
対象データ1または対象データ2のどちらかがナル値の場合,実行結果はナル値になります。
-
対象データ1および対象データ2の実長が0バイトの場合,実行結果は実長0バイトのバイナリデータになります。