bitmap_xor

description

Syntax

BITMAP BITMAP_XOR(BITMAP lhs, BITMAP rhs, ...)

计算两个及以上输入bitmap的差集,返回新的bitmap.

example

  1. mysql> select bitmap_count(bitmap_xor(bitmap_from_string('2,3'),bitmap_from_string('1,2,3,4'))) cnt;
  2. +------+
  3. | cnt |
  4. +------+
  5. | 2 |
  6. +------+
  7. mysql> select bitmap_to_string(bitmap_xor(bitmap_from_string('2,3'),bitmap_from_string('1,2,3,4')));
  8. +----------------------------------------------------------------------------------------+
  9. | bitmap_to_string(bitmap_xor(bitmap_from_string('2,3'), bitmap_from_string('1,2,3,4'))) |
  10. +----------------------------------------------------------------------------------------+
  11. | 1,4 |
  12. +----------------------------------------------------------------------------------------+
  13. 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')));
  14. +---------------------------------------------------------------------------------------------------------------------+
  15. | bitmap_to_string(bitmap_xor(bitmap_from_string('2,3'), bitmap_from_string('1,2,3,4'), bitmap_from_string('3,4,5'))) |
  16. +---------------------------------------------------------------------------------------------------------------------+
  17. | 1,3,5 |
  18. +---------------------------------------------------------------------------------------------------------------------+
  19. 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()));
  20. +-------------------------------------------------------------------------------------------------------------------------------------+
  21. | 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())) |
  22. +-------------------------------------------------------------------------------------------------------------------------------------+
  23. | 1,3,5 |
  24. +-------------------------------------------------------------------------------------------------------------------------------------+
  25. 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));
  26. +---------------------------------------------------------------------------------------------------------------------------+
  27. | bitmap_to_string(bitmap_xor(bitmap_from_string('2,3'), bitmap_from_string('1,2,3,4'), bitmap_from_string('3,4,5'), NULL)) |
  28. +---------------------------------------------------------------------------------------------------------------------------+
  29. | NULL |
  30. +---------------------------------------------------------------------------------------------------------------------------+

keyword

  1. BITMAP_XOR,BITMAP