可用版本:Dev (3.21) | 最新 (3.20) | 3.19 | 3.18

XOR布尔运算符

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

异或 (XOR) 运算符仅当只有一个操作数为真时才为真,而不能同时为真。

(TITLE = 'Animal Farm' XOR AUTHOR.LAST_NAME = 'Orwell')
BOOK.TITLE.eq("Animal Farm").xor(AUTHOR.LAST_NAME.eq("Orwell"))

方言支持

此示例使用 jOOQ

BOOK.TITLE.eq("Animal Farm").xor(AUTHOR.LAST_NAME.eq("Orwell"))

翻译成以下特定方言的表达式

Access, Aurora MySQL, MariaDB, MySQL

(
  BOOK.TITLE = 'Animal Farm'
  XOR AUTHOR.LAST_NAME = 'Orwell'
)

ASE, DB2, Firebird, SQLDataWarehouse, SQLServer, Sybase, Teradata

CASE
  WHEN BOOK.TITLE = 'Animal Farm' THEN 1
  WHEN NOT (BOOK.TITLE = 'Animal Farm') THEN 0
END <> CASE
  WHEN AUTHOR.LAST_NAME = 'Orwell' THEN 1
  WHEN NOT (AUTHOR.LAST_NAME = 'Orwell') THEN 0
END

Aurora Postgres, BigQuery, ClickHouse, CockroachDB, Databricks, Derby, DuckDB, Exasol, H2, HSQLDB, MemSQL, Oracle, Postgres, Redshift, SQLite, Snowflake, Trino, Vertica, YugabyteDB

(BOOK.TITLE = 'Animal Farm') <> (AUTHOR.LAST_NAME = 'Orwell')

Hana

CASE
  WHEN BOOK.TITLE = 'Animal Farm' THEN TRUE
  WHEN NOT (BOOK.TITLE = 'Animal Farm') THEN FALSE
END <> CASE
  WHEN AUTHOR.LAST_NAME = 'Orwell' THEN TRUE
  WHEN NOT (AUTHOR.LAST_NAME = 'Orwell') THEN FALSE
END

Informix

CASE
  WHEN BOOK.TITLE = 'Animal Farm' THEN CAST('t' AS boolean)
  WHEN NOT (BOOK.TITLE = 'Animal Farm') THEN CAST('f' AS boolean)
END <> CASE
  WHEN AUTHOR.LAST_NAME = 'Orwell' THEN CAST('t' AS boolean)
  WHEN NOT (AUTHOR.LAST_NAME = 'Orwell') THEN CAST('f' AS boolean)
END
使用 jOOQ 3.21 生成。早期 jOOQ 版本的支持可能有所不同。 在我们的网站上翻译您自己的 SQL

引用此页

反馈

您对此页面有任何反馈吗?我们很乐意听取您的意见!

The jOOQ Logo