|

Description

Bitwise OR.

The result type depends on whether the arguments are evaluated as binary strings or numbers:

  • Binary-string evaluation occurs when the arguments have a binary string type, and at least one of them is not a hexadecimal literal, bit literal, or NULL literal. Numeric evaluation occurs otherwise, with argument conversion to unsigned 64-bit integers as necessary.

  • Binary-string evaluation produces a binary string of the same length as the arguments. If the arguments have unequal lengths, an ER_INVALID_BITWISE_OPERANDS_SIZE error occurs. Numeric evaluation produces an unsigned 64-bit integer.

Syntax

  1. > SELECT value1 | value2;

Examples

  1. mysql> SELECT 29 | 15;
  2. +---------+
  3. | 29 | 15 |
  4. +---------+
  5. | 31 |
  6. +---------+
  7. 1 row in set (0.01 sec)
  8. mysql> select null | 2;
  9. +----------+
  10. | null | 2 |
  11. +----------+
  12. | NULL |
  13. +----------+
  14. 1 row in set (0.01 sec)
  15. mysql> select null | 2;
  16. +----------+
  17. | null | 2 |
  18. +----------+
  19. | NULL |
  20. +----------+
  21. 1 row in set (0.01 sec)
  22. create table t1(a int, b int unsigned);
  23. insert into t1 values (-1, 1), (-5, 5);
  24. mysql> select a | 2, b | 2 from t1;
  25. +-------+-------+
  26. | a | 2 | b | 2 |
  27. +-------+-------+
  28. | -1 | 3 |
  29. | -5 | 7 |
  30. +-------+-------+