- 类别:
BITXOR¶
返回两个数值或二进制表达式的按位 XOR。
- 别名:
BIT_XOR
- 另请参阅:
语法¶
实参¶
expr1此表达式的计算结果必须为 INTEGER 值、BINARY 值或可转换为 INTEGER 值的数据类型的值。
expr2此表达式的计算结果必须为 INTEGER 值、BINARY 值或可转换为 INTEGER 值的数据类型的值。
'padside'当两个 BINARY 实参的长度不相同时,指定在哪一边为较短的长度填充值。指定以下不区分大小写的值之一:
LEFT – 在左侧填充值。
RIGHT – 在右侧填充值。
较短的值用零填充,使其等于较大值的长度。
此实参仅在指定了 BINARY 表达式时有效。
如果两个 BINARY 值的长度不同,则此实参是必需的。
返回¶
返回 INTEGER 值、BINARY 值或 NULL:
当输入表达式包含 INTEGER 值时,返回一个代表输入表达式按位 XOR 的 INTEGER 值。
当输入表达式包含 BINARY 值时,返回一个代表输入表达式按位 XOR 的 BINARY 值。
如果任一输入值为 NULL,则返回 NULL。
使用说明¶
两个输入表达式都必须求值到相同数据类型的值,可以是 INTEGER 或 BINARY。
如果任一实参的数据类型是 数字,但不是 INTEGER(例如 FLOAT、DECIMAL 等),则将该实参转换为 INTEGER 值。
如果实参的数据类型是字符串(例如 VARCHAR),则该实参将转换为 INTEGER 值(如果可能)。例如,字符串
12.3转换为12。如果该值无法转换为 INTEGER 值,则该值被视为 NULL。该函数不会将实参隐式转换为 BINARY 值。
示例¶
以下部分包含 INTEGER 实参值和 BINARY 实参值的示例。
将 BITAND、BITOR 和 BITXOR 与 INTEGER 实参值结合使用¶
创建一个简单的表并插入数据:
运行查询:
将 BITAND、BITOR 和 BITXOR 与 BINARY 实参值结合使用¶
创建一个简单的表并插入数据:
备注
BINARY 值是使用 x'value' 表示法插入的,其中 value 包含十六进制数字。有关更多信息,请参阅 二进制输入和输出。
对长度相同的 BINARY 列运行查询:
如果尝试在未指定 'padside' 实参的情况下在不同长度的 BINARY 列上运行查询,则会返回错误:
对不同长度的 BINARY 列运行查询,并将较小的实参值填充到左侧:
对不同长度的 BINARY 列运行查询,并将较小的实参值填充到右侧: