2 pipi0 PIPI0 于 2016.01.24 20:53 提问

请问MSSQL语句中这样写为什么不对?应该怎么写啊??
select * from Table where Branch1 is Null and Branch2 not like '%"不同意"%' or Branch3 not like '%"不同意"%' order by AddTime desc


我想查询出来Branch1字段为空,并且Branch2字段不包含不同意,或者Branch3字段不包含不同意的内容的所有记录,但查出来的记录是Branch1未空并且Branch2包含有不同意的内容的记录,这个语句到底应该怎么写啊??

4个回答

PIPI0
PIPI0   2016.01.24 22:10
已采纳

问题找到啦,是因为Branch2字段里是null不是空,所以查询语句出现问题,但还是谢谢你们!

loongshawn
loongshawn   2016.01.24 21:17

加括弧试试,select * from Table where (Branch1 is Null and Branch2 not like '%"不同意"%' )or (Branch3 not like '%"不同意"%' )order by AddTime desc

danielinbiti
danielinbiti   Ds   Rxr 2016.01.24 21:23
不知道你不同意前后的双引号什么用,没意义就去掉吧。
 select * from Table where Branch1 is Null and Branch2 not like '%不同意%' or Branch3 not like '%不同意%' order by AddTime desc
enpterexpress
enpterexpress   Rxr 2016.01.24 22:11

1不同意字符串两边的引号不要
2条件判断中and后面属于一个条件放到括号中

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digi
ORACLE日期时间函数大全    TO_DATE格式(以时间:2007-11-02   13:45:25为例)             Year:               yy two digits 两位年                显示值:07         yyy three digits 三位年                显示值:007         yyy
SQL语句中不等号(!=,<>)
转自:http://www.cnblogs.com/yongtaiyu/archive/2013/01/16/2863118.html 关于SQL命令中不等号(!=, 比较两个表达式(比较运算符)。当比较非空表达式时,如果左边操作数的数值不等于右边的操作数,则结果为 TRUE;否则结果为 FALSE。如果两个操作数中有一个或者两个都为 NULL,并且 SET ANSI_NULL
sql查询语句中使用if示例
1,统计金额大于0 条件:查询严格金额大于0 select sum(if(money>0,money,0))  from  tmz_userinfo; 2,示例: hits点击量    如果空的话,就默认为0 select  message.id id , message.title  title , if(message.'hits' is null , 0 , message.'hit
SQL语句中条件里需要有单引号问题
SQL引用中常用的错误
利用case在select语句里写条件判断
select a,b,(case when a+b=c then 是 else 否 end) c from table
写单测,测试如何将N个case的代码简化为1个case的代码(重用和封装)
写单测,测试如何将N个case的代码简化为1个case的代码 比如: 主动查询修复的接口       /  ** * QueryRecharge case. 1.我方状态: 进行中,失败,成功,失败稍后可重试. 2.进行中,失败,成功 * 3*4 12种情况. * 关键还是测试.我方进行中 2, 对方 进行中,失败,成功的. 共六种情况. 其他我方失败,成功的,代码review即可.
mysql语句中if语句
sql语句中if语句。每个班级有多少人及格,有多少人不及格。SELECT class,sum(IF(score>60,1,0)) JIGE ,sum(IF(score<60,1,0)) BUJIGE FROM student GROUP BY class ;输出结果:mysql> select * from student order by class ,score; +----+-------+-
SQL语句 包含怎么写
SQL语句 包含怎么写  分享| 2008-08-25 09:54夏日de晨风 | 浏览 6072 次  SQL编程语言数据库 有表如下 ID Name --------------------- 1,2 aaaaaa 1,10 bbbbbb 用一条SQL语句写出 ID含1的记录,(ID之间是用","作分隔符的) 写对,追加分数!!! 天拉...一楼的
sql 语句优化详解及案例
介绍了在写sql语句中如何提高效率,以及例子
c#中sql语句中传递Like参数的写法
   //string strSql = "select * from tbl_music where  musicname like '%@ii%'";//错误的         string strSql = "select * from tbl_music where  musicname like '%'+@name+'%'";//正确的         SqlPar