请问在SQLServer中SQL语句能不能用“XOR”,如果能用该如何使用?

sillybird_cn 2005-06-22 02:13:13
请问在SQLServer中SQL语句能不能用“XOR”,如果能用该如何使用?我无论怎么写都是提示语法错误?
...全文
917 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sillybird_cn 2005-06-23
  • 打赏
  • 举报
回复
看来也只能如此了。
pbsql 2005-06-23
  • 打赏
  • 举报
回复
没有那样的写法,或者写成这样:
Select A,B,C From TableA
Where (case when A IS NULL then 0 else 1 end)^(case when B IS NULL then 0 else 1 end)=1
sillybird_cn 2005-06-23
  • 打赏
  • 举报
回复
没人知道这个问题的答案了吗?
sillybird_cn 2005-06-22
  • 打赏
  • 举报
回复
回复pbsql(风云):对是这个意思。这样写我也知道可以,但写起来比较麻烦,如果用XOR就很简单了,因为我要用到的想这样了情况很多,每个都这么写很麻烦。当然如果SQLServer的确不支持这个逻辑表达式也就没有办法了。
pbsql 2005-06-22
  • 打赏
  • 举报
回复
是不是这个意思:
Select A,B,C From TableA
Where ((A IS NULL) and (B IS NOT NULL)) OR ((A IS NOT NULL) and (B IS NULL))
filebat 2005-06-22
  • 打赏
  • 举报
回复
根据等价关系, 我们可以通过'非'运算,'或'运算和'与'运算来实现'异或'运算.
--示例
declare @str1 int, @str2 int
select @str1=12, @str2=20
select (~@str1&@str2)|(@str1&~@str2)
sillybird_cn 2005-06-22
  • 打赏
  • 举报
回复
谢谢上面的两位,但我不是说XOR运算,是指XOR逻辑表达式。
比如:Select A,B,C From TableA Where (A IS NULL) XOR (B IS NULL);
但这条语句执行后提示说是语法错误。
子陌红尘 2005-06-22
  • 打赏
  • 举报
回复
^(按位互斥 OR)
在 Transact-SQL 语句中,将两个给定的整型值转换为二进制表达式,对其执行按位互斥 OR 运算。

语法
expression ^ expression

参数
expression

是任何有效的 Microsoft® SQL Server™ 表达式(表达式必须由整数数据类型分类中的任何数据类型组成,或者由 binary 或 varbinary 数据类型组成)。expression 是一个经过处理并转换为二进制数字以便进行位运算的整数。



说明 在位运算中,只有一个 expression 可以是 binary 或 varbinary 数据类型。


结果类型
如果输入值为 int,则返回 int;如果输入值为 smallint,则返回 smallint;或者如果输入值为 tinyint,则返回 tinyint。
pbsql 2005-06-22
  • 打赏
  • 举报
回复
是这个意思吗:
set @c=@a^@b
文本关键字:程序设计/PHP/技巧 以前写了十天学会ASP,十天学会ASP.NET什么的,现在想想再写个PHP吧,也算比较全了。 PHP的调试方法我这里就不说了,外面很多文章都有介绍,也有很多不同的组合。我这里暂时是以 Apache web server 和 MY SQL 作为WEB服务器和数据库,在php-4.3.3下的环境做的程序。当然要简单的构建和访问查看数据库 PHPMYADMIN 不可少。 至于表单设计什么的,我这里也不想多说了,在《十天学会ASP》已经有介绍。 下面简单介绍一下PHP的语法。 1、嵌入方法: 类似ASP的<%,PHP可以是,当然您也可以自己指定。 2、引用文件: 引用文件的方法有两种:require 及 include。 require 的使用方法如 require("MyRequireFile.php"); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页。 include 使用方法如 include("MyIncludeFile.php"); 。这个函数一般是放在流程控制的处理部分。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。 3、注释方法: 使用 UNIX Shell 语法注释 ?> 4、变量类型: $mystring = "我是字符串" ; $NewLine = "换行了\n" ; $int1 = 38 ; $float1 = 1.732 ; $float2 = 1.4E+2 ; $MyArray1 = array( "子" , "丑" , "寅" , "卯" ); 这里引出两个问题,首先PHP变量以$开头,第二PHP语句以;结尾,可能ASP程序员会不适应。这两个遗漏也是程序上大多错误所在。 5、运算符号: 数学运算: 符号 意义 + 加法运算 - 减法运算 * 乘法运算 / 除法运算 % 取余数 ++ 累加 -- 递减 字符串运算: 运算符号只有一个,就是英文的句号。它可以将字符串连接起来,变成合并的新字符串。类似ASP的& 这里也引出两个问题,首先PHP输出语句是echo,第二类似ASP的<%=变量%>,PHP也可以。 逻辑运算: 符号 意义 < 小于 > 大于 <= 小于或等于 >= 大于或等于 == 等于 != 不等于 && 而且 (And) and 而且 (And) || 或者 (Or) or 或者 (Or) xor 异或 (Xor) ! 不 (Not) 今天就说到这里,明天说一下流程控制。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧