mysql的like模糊查询语句对于空值怎么处理?

select * from ITEMINFO s where s.title like '%%' order by id desc

如果在%%之间不输入任何东西,好像会把全部数据都查询出来.
怎么让它如果是空值,就提示 "没有找到数据"

阅读 7.8k
6 个回答

既然都要查询空值或者null值,为何要模糊查询呢?这也不是多此一举了嘛。老铁

select * from ITEMINFO s where s.title = '' order by id desc
select * from ITEMINFO s where s.title is null order by id desc

先对数据过滤一道,如果是空值根本就不用查数据库。

这个需要在应用层做处理,数据库只存取数据,不做业务逻辑

select * from ITEMINFO s where s.title like '%%' and s.title <> '' order by id desc
新手上路,请多包涵

select * from ITEMINFO s where s.title <> '' and s.title like '%%' order by id desc

我觉得既然你要空值就返回空,那么为什么不在查询之前去判断一下呢?为何要再浪费一次mysql的资源。直接判断控制返回''就可以了呀

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题