【发布时间】:2011-07-21 15:54:25
【问题描述】:
SQL Server (T-SQL) 中是否有 XOR 运算符或等效函数?
【问题讨论】:
-
我想我试图在可为空的 varchar 列上使用。示例:WHERE(注为空)^(ID 为空)。我收到“'^' 附近的语法不正确”
-
请注意,Microsoft SQL 区分用于组成位(即 1 和 0)的 (1) 位运算符(如 and |、&、^link)整数值,以及在 WHERE 子句或 CASE 语句等中使用的 (2) 逻辑布尔运算符(即真假)。和逻辑值相同,即 1 = true,0 = false)。您似乎在询问逻辑运算符,因为您的评论提到了“WHERE”。
-
据我所知,即使是 SQL 2017 也没有逻辑 XOR 运算符,因此您可以使用 (A OR B) AND NOT (A AND B) 或 (A AND NOT B)或(B而不是A)。好的,现在再慢慢读一遍哈哈 :) 这一切都不是假的
-
如果 SQL Server 将布尔值作为第一类类型,您可以通过与
=比较来对它们进行独占或处理,但可惜没有。
标签: sql-server tsql xor