要怎样简化一下很多not like的语句?
select * from table where 城市 not like '%广东%' and 城市 not like '%上海%' and 城市 not like '%北京%'
我用的是sql server2008,经常会遇到类似的条件判断,要怎样才能简化一下?
------解决方案--------------------
这样呢:
select *
from table t
inner join
(
select '%广东%' v union all
select '%上海%' union all
select '%北京%'
)vv
on t.城市 not like vv.v
------解决方案--------------------把这些not like的放到一个表,然后关联
------解决方案--------------------回4楼,这样还算简化嘛?好像更复杂的样子。
看着是有点复杂,但是就像版主的说的,最好还是先把你要比较的字符串,放到一个表里,
然后关联,其实就是和我写的是一样的,这个确实没有太简单的代码
------解决方案--------------------in的括号里不能有通配符吧
------解决方案--------------------
--try this
select * from table
where CHARINDEX('广东',城市)<1
AND CHARINDEX('上海',城市)<1
AND CHARINDEX('北京',城市)<1