xor.sql 488 B

1234567891011121314151617
  1. /* postgres can not */
  2. SELECT
  3. o1 XOR o2 AS xor,
  4. o1 XOR o1 AS xor_same_o1,
  5. o2 XOR o2 AS xor_same_o2,
  6. o1 XOR o2 XOR o1 XOR o2 XOR o1 XOR o2 AS xor_triple_dups,
  7. o1 XOR o2 XOR Unwrap(o1) XOR Unwrap(o2) AS xor_with_unwraps,
  8. FROM AS_TABLE([
  9. <|o1: FALSE, o2: FALSE|>,
  10. <|o1: TRUE, o2: TRUE|>,
  11. <|o1: TRUE, o2: FALSE|>,
  12. <|o1: FALSE, o2: TRUE|>,
  13. <|o1: TRUE, o2: NULL|>,
  14. <|o1: FALSE, o2: NULL|>,
  15. <|o1: NULL, o2: TRUE|>,
  16. <|o1: NULL, o2: FALSE|>
  17. ]);