注册 登录
编程论坛 ASP技术论坛

在空记录中用not like查询时返回空值的问题

enjoy535 发布于 2009-10-29 15:07, 870 次点击
例:我想查询出tab1表中string1字段不包含abc字符的记录,查询语句如下:

select top  * from tab1 where  string1  not like '%"abc"%' order by id desc

正常情况下能够正确运行

但是当string1字段的记录为空时,按照正常逻辑也是应该要返回记录的
但是实际运行却不能返回相应记录

如果改成如下语句,则能全部正确显示

select top  * from tab1 where  string1 is null or string1 not like  '%"abc"%' order by id desc

但还有没有一种简单的方法啊,只用一句查询语句就行呢?
3 回复
#2
外部三电铃2009-10-29 20:14
已经够简单了啊,只是多了3个单词而已   is null or
#3
mailguest2009-10-29 22:03
select top  * from tab1 where  isnull(string1,'') not like  '%"abc"%' order by id desc
#4
chenbofeng202009-11-01 19:08
select top  * from tab1 where  string1   like '%"[!abc]"%' order by id desc
1