前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >oracle-like模糊查询不匹配null

oracle-like模糊查询不匹配null

原创
作者头像
真率
发布2025-02-28 14:07:18
发布2025-02-28 14:07:18
600
举报
文章被收录于专栏:OracleOracle

oracle中,在使用 not like 进行模糊查询,想要筛选出不符合某个pattern的数据时,是无法筛选出值为 null 的数据的。这是因为oracle中 null 表示未知,无法和任何其他值相比或相似。如果忽略了这一点,则常常会获得不完整的数据。

如下面的例子,筛选出的结果中,不会包含名字为空的数据,它隐含了一个条件,就是名字不为空

代码语言:sql
复制
select 
    * 
from 
    student 
where 
    name not like '郑%'

如果要包括名字为空的数据,可以这样改写:

代码语言:sql
复制
select 
    * 
from 
    student 
where 
    name is null or name not like '郑%'

或者这样:

代码语言:sql
复制
select 
    * 
from 
    student 
where 
    nvl(name, 0) not like '郑%'

参考文献


SQL LIKE ‘%’ 不接受 NULL 值|极客教程

Pattern-matching Conditions

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档