--- { "title": "bitmap_xor", "language": "zh-CN" } --- # bitmap_xor ## description ### Syntax `BITMAP BITMAP_XOR(BITMAP lhs, BITMAP rhs, ...)` 计算两个及以上输入bitmap的差集,返回新的bitmap. ## example ``` mysql> select bitmap_count(bitmap_xor(bitmap_from_string('2,3'),bitmap_from_string('1,2,3,4'))) cnt; +------+ | cnt | +------+ | 2 | +------+ mysql> select bitmap_to_string(bitmap_xor(bitmap_from_string('2,3'),bitmap_from_string('1,2,3,4'))); +----------------------------------------------------------------------------------------+ | bitmap_to_string(bitmap_xor(bitmap_from_string('2,3'), bitmap_from_string('1,2,3,4'))) | +----------------------------------------------------------------------------------------+ | 1,4 | +----------------------------------------------------------------------------------------+ MySQL> select bitmap_to_string(bitmap_xor(bitmap_from_string('2,3'),bitmap_from_string('1,2,3,4'),bitmap_from_string('3,4,5'))); +---------------------------------------------------------------------------------------------------------------------+ | bitmap_to_string(bitmap_xor(bitmap_from_string('2,3'), bitmap_from_string('1,2,3,4'), bitmap_from_string('3,4,5'))) | +---------------------------------------------------------------------------------------------------------------------+ | 1,3,5 | +---------------------------------------------------------------------------------------------------------------------+ MySQL> select bitmap_to_string(bitmap_xor(bitmap_from_string('2,3'),bitmap_from_string('1,2,3,4'),bitmap_from_string('3,4,5'),bitmap_empty())); +-------------------------------------------------------------------------------------------------------------------------------------+ | bitmap_to_string(bitmap_xor(bitmap_from_string('2,3'), bitmap_from_string('1,2,3,4'), bitmap_from_string('3,4,5'), bitmap_empty())) | +-------------------------------------------------------------------------------------------------------------------------------------+ | 1,3,5 | +-------------------------------------------------------------------------------------------------------------------------------------+ MySQL> select bitmap_to_string(bitmap_xor(bitmap_from_string('2,3'),bitmap_from_string('1,2,3,4'),bitmap_from_string('3,4,5'),NULL)); +---------------------------------------------------------------------------------------------------------------------------+ | bitmap_to_string(bitmap_xor(bitmap_from_string('2,3'), bitmap_from_string('1,2,3,4'), bitmap_from_string('3,4,5'), NULL)) | +---------------------------------------------------------------------------------------------------------------------------+ | NULL | +---------------------------------------------------------------------------------------------------------------------------+ ``` ## keyword BITMAP_XOR,BITMAP