8.11.6 BITXOR
2つのバイナリデータのビットごとの排他的論理和を返します。
- 〈この項の構成〉
(1) 指定形式
スカラ関数BITXOR::=BITXOR(対象データ1,対象データ2) 対象データ1::=値式 対象データ2::=値式
(2) 指定形式の説明
- 対象データ1および対象データ2:
-
バイナリデータを指定します。
指定規則を次に示します。
-
対象データ1および対象データ2は,値式の形式で指定します。値式については,「7.21 値式」を参照してください。
-
対象データ1および対象データ2には,BINARY型またはVARBINARY型のデータを指定してください。
-
対象データ1と対象データ2のデータ長(対象データがBINARY型の場合),または実長(対象データがVARBINARY型の場合)が同じになるようにしてください。
-
対象データ1には,?パラメタを単独で指定できません。
-
対象データ2に?パラメタを単独で指定した場合,?パラメタに仮定されるデータ型とデータ長は,対象データ1のデータ型とデータ長になります。
-
スカラ関数BITXORの実行結果の例を次に示します。
- (例)
-
2つのバイナリデータのビットごとの排他的論理和を返します。
BITXOR(B'01011011',B'01001110') → B'00010101'
BITXOR(B'01011011',X'FF') → B'10100100'
BITXOR(X'0F',X'FF') → X'F0'
(3) 規則
-
スカラ関数BITXORの実行結果(第nビット目の値)は,次の表に示すようになります。
表8‒45 スカラ関数BITXORの実行結果(第nビット目の値) 対象データ1の第nビット目の値
対象データ2の第nビット目の値
スカラ関数BITXORの実行結果(第nビット目の値)
0
0
0
1
1
1
0
1
1
0
-
実行結果のデータ型とデータ長は,対象データ1および対象データ2のデータ型とデータ長によって決まります。スカラ関数BITXORの実行結果のデータ型とデータ長を次の表に示します。
表8‒46 スカラ関数BITXORの実行結果のデータ型とデータ長 対象データ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バイトのバイナリデータになります。