【Oracle实验】字段为空的,无法通过排除判断

Oracle相关文档,希望互相学习,共同进步

风123456789~-CSDN博客


1.场景描述

需求:查询不是某个机构的数据。

同事SQL:where substr(bank_code,1,9) not in('014009001');

看SQL似乎没什么问题,分析数据后发现 not in 不能查询出空数据。

2. 模拟测试

(1)创建测试表

sql 复制代码
create table feng_aa
(ban_code varchar2(100),
ban_name varchar2(100)
)

(2)插入测试数据

(3)不带nvl的查询结果:查不出空的-少数据

select T.*,T.ROWID from feng_aa t where substr(ban_code,1,9) not in('014009001');

(4)带nvl的查询结果:可检索空的

select T.*,T.ROWID from feng_aa t where substr(nvl(ban_code,'X'),1,9) not in('014009001');

3.结论

总结:

where 条件中,如果字段有为空的,无法not in 筛选出空的内容。必须带上nvl 转义处理后,再进行查询。


项目管理--相关知识

项目管理-项目绩效域1/2-CSDN博客

项目管理-项目绩效域1/2_八大绩效域和十大管理有什么联系-CSDN博客

项目管理-项目绩效域2/2_绩效域 团不策划-CSDN博客

高项-案例分析万能答案(作业分享)-CSDN博客

项目管理-计算题公式【复习】_项目管理进度计算题公式:乐观-CSDN博客

项目管理-配置管理与变更-CSDN博客

项目管理-项目管理科学基础-CSDN博客

项目管理-高级项目管理-CSDN博客

项目管理-相关知识(组织通用治理、组织通用管理、法律法规与标准规范)-CSDN博客


Oracle其他文档,希望互相学习,共同进步

Oracle-找回误删的表数据(LogMiner 挖掘日志)_oracle日志挖掘恢复数据-CSDN博客

oracle 跟踪文件--审计日志_oracle审计日志-CSDN博客

ORA-12899报错,遇到数据表某字段长度奇怪现象:"Oracle字符型,长度50"但length查却没有50_varchar(50) oracle 超出截断-CSDN博客

EXP-00091: Exporting questionable statistics.解决方案-CSDN博客

Oracle 更换监听端口-CSDN博客

相关推荐
程序员清风3 小时前
Java 后端高并发设计:线程池、限流、熔断与降级
java·数据库·oracle
天衍四九-3 小时前
MySQL中如何定位慢查询?如果SQL语句执行很慢,如何分析和优化?
数据库·sql·mysql
尚久龙3 小时前
mysql-5.7.26-winx64的安装步骤
数据库·mysql
医疗信息化王工3 小时前
DataForge:基于 Python 的数据库批量导出 Excel 工具——从架构到部署的全流程实战
数据库·python·excel
实心儿儿3 小时前
MySQL 的安装
数据库·mysql·adb
程序员阿鹏5 小时前
为什么MySQL InnoDB选择B+树?
数据结构·数据库·b树·sql·mysql·算法·缓存
瀚高PG实验室6 小时前
使用pg_stat_statements抓取数据库TOP SQL
数据库·sql·postgresql·瀚高数据库
yanwumuxi8 小时前
【数据库系列】opensearch数据备份和恢复
数据库
anxiao_m8 小时前
2026企业AI数字孪生选型攻略,不同场景对应不同解决方案
大数据·网络·数据库
SelectDB8 小时前
从 ClickHouse 迁移到 Doris:SQL 兼容、同步与验证清单(实战笔记)
大数据·数据库·数据分析