首页 新闻 会员 周边 捐助

关于sql视图中where查询括号的转义,不是字符串里面的括号

1
[已解决问题] 解决于 2017-03-24 14:23

新建查询中查询语句:

select * from work where (isdelete=0 or (isdelete=1 and stateid=0))

意思是查询没有逻辑删除或这逻辑删除掉但是状态是0的work表数据

但是这句话放在新建视图中执行后就变成了

select * from work where (isdelete=0) or (isdelete=1) and (stateid=0)

求解。。。

spatxos的主页 spatxos | 初学一级 | 园豆:32
提问于:2017-03-24 14:05
< >
分享
最佳答案
0

本来and的优先级就比or高啊!为什么还要加()呢?

奖励园豆:5
~扎克伯格 | 小虾三级 |园豆:1923 | 2017-03-24 14:12

@不辍: 你这逻辑有问题啊!isdelete就0、1两种情况吗?

~扎克伯格 | 园豆:1923 (小虾三级) | 2017-03-24 14:20

@~扎克伯格: 逻辑删除的bool型,是一样的这两句。。。

spatxos | 园豆:32 (初学一级) | 2017-03-24 14:21
其他回答(1)
0

你这两个貌似是相等的

三羊 | 园豆:229 (菜鸟二级) | 2017-03-24 14:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册