SQL 表中有NULL时,LIKE 模糊 查询的问题

  • Post author:
  • Post category:其他


假如数据库表如下

ID name dep
1 a 财务
2 b 财务
3 c 信息
4 d null
5 e null

如上表,在SQL数据库中,字段有null的值做模糊查询,总是得不到想要的结果,




1、select * from aa where name like ‘%’  and dep like ‘%’




这样写,就只能取出没有null的记录

ID name dep
1 a 财务
2 b 财务
3 c 信息




2、select * from aa where name like ‘%’  and (dep like ‘%’ or dep is null)




这样写,在没有输入查询条件时可以得到全部的值,但是如果 查询条件是 name %   dep= “财务”  时就出现

ID name dep
1 a 财务
2 b 财务
4 d null
5 e null

怎么修改才能让查询条件是 name %   dep= 财务 时,结果是

ID name dep
1 a 财务
2 b 财务


怎么修改才能让查询条件是 name %   dep %  时,结果又全部显示呢




>>>>>>>>>>解决方案:




select * from aa where ISNULL(name,”) like ‘%’




版权声明:本文为yunhuaikong原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。