目录

  • 1.在Oracle中,将长度为零的字符值视为NULL

  • 2.在PL/SQL中判断空字符串

    • 2.1 使用nvl函数空值处理
    • 2.2 使用is not null改写

写在最前面:在Oracle 11g中一个空字符串和零个字符是没有区别的。今天在使用Oracle编写PL/SQL程序的时候,发现一个问题,我的表中本身不是空字符串,但是在使用if语句判断(字段 <> ‘’)的时候,if语句竟然不会生效,很是纳闷!后来查询相关资料发现:Oracle建议您不要将空字符串视为空字符串那么具体是怎么回事呢?

1.在Oracle中,将长度为零的字符值视为NULL

以下是一个测试案例,测试Oracle中空字符串与null都被视为null

create table test1(id number, str varchar2(20));
insert into test1 values(1, 'like ''04''');
insert into test1 values(2, 'aa');
insert into test1 values(3, '');
insert into test1 values(4, null);
commit;
-- 查询语句
select nvl(str, '我是空值') as res from test1;

查询结果如下:

从查询结果可以看出,在oracle中,null与空字符串一样。

2.在PL/SQL中判断空字符串

直接使用test1表中的列值与空字符串进行判断

declare
t_sql varchar2(100);
beginselect str into t_sql from test1 where id = 1;if t_sql <> '' thendbms_output.put_linse('success!');end if;
end;

按照常规逻辑来说,是会打印success的,但是上述PL/SQL块却没有打印结果,表明if语句并没有生效

2.1 使用nvl函数空值处理

正确的写法

declare
t_sql varchar2(100);
beginselect str into t_sql from test1 where id = 1;if nvl(t_sql, 'N') <> 'N' thendbms_output.put_line('success!');end if;
end;

打印结果:

2.2 使用is not null改写

declare
t_sql varchar2(100);
beginselect str into t_sql from test1 where id = 1;if t_sql is not null thendbms_output.put_line('success!');end if;
end;

Oracle中对空字符串的判断相关推荐

  1. hive 判断子字符串_Java中检查空字符串(null或空白)的方法有几种?

    说明: 本文为牛旦教育原创,头条首发,转发须注明来源和原文网址. 1.摘要 在本文中,我们将介绍些方法检查Java中的空字符串(空的或空白符串).我们有些语言的原生方法以及几个库可用. 2.空与空白( ...

  2. html判断字段不为空,js里是否为空字符串的判断

    了解下js里是否为空字符串的判断. JavaScript中可以使用if(typeof obj=="undefined"||obj==null||obj=="") ...

  3. JavaScript - 移除数组中的空字符串元素

    移除数组中的空字符串元素 使用 filter 方法对数组进行拷贝,删除空字符串元素,保留其他元素(第 22 ~ 24 行): <!DOCTYPE html> <html>< ...

  4. 使用C#删除一个字符串数组中的空字符串

    C#中要如何才能删除一个字符串数组中的空字符串呢?随着微软对C#不断发展和更新,C#中对于数组操作的方式也变得越来越多样化.以往要实现过滤数组中的空字符串,都是需要实行循环的方式来排除和过滤.C#3. ...

  5. oracle 截取 tr,oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)...

    (1)oracle中实现截取字符串:substr substr(string, start_position, [length]) 其中,string是元字符串,start_position为开始位置 ...

  6. 在 Java 中检查空字符串或空白字符串

    1. 简介 在本教程中,我们将讨论一些在 Java 中检查空字符串或空白字符串的方法.有一些母语方法,以及几个库. 2. 空与空白 当然,知道字符串何时为空或空白是很常见的,但让我们确保我们的定义在同 ...

  7. oracle表里面空值要填满,漫 谈oracle 中 的 空 值(转)

    漫 谈oracle 中 的 空 值 河 北 省 统 计 局 贾 书 民 ---- 在 数 据 库 中, 空 值 用 来 表 示 实 际 值 未 知 或 无 意 义 的 情 况. 在 一 个 表 中, ...

  8. oracle中查找指定字符串位置

    oracle中查找指定字符串的位置,instr函数笔记: 1,instr(x,y); x:源字符串 y:目标字符串 select instr('abcdefgxyzaa','a') position ...

  9. Python去除list中的空字符串

    方法一: a = ['\n ', '1', ' ','Tuesday, May 05, 2020','\n'] 我们需要将这个列表,中间有'\n ', ' ','\n',这些都是我们不需要的,需要将其 ...

最新文章

  1. android 多个应用,Android中一个应用实现多个图标的几种方式
  2. linux设备驱动学习(一)——简单的helloworld模块
  3. oracle 存储过程写文件,Oracle写本地文件
  4. wget for windows
  5. 大数据分析必须要会的python函数操作!!!
  6. 第8章 函数探索
  7. mysql,oracle,sql server数据库默认的端口号,端口号可以为负数吗?
  8. mysql 6位随机数_MySQL生成固定位数的随机数
  9. Android opencv 检测屏幕是否有坏点/检测一个颜色是否有杂点
  10. CSS设置div水平垂直居中
  11. 超声波模块测距 Arduino代码
  12. 艾宾浩斯遗忘曲线复习计划表
  13. NMS非极大值抑制的原理
  14. 利用JavaScript制作倒计时牌(转)
  15. linux服务器抓包实例
  16. 利用Poi-tl将富文本Html转换为Word文件
  17. 尺寸仅为2.7mm 智芯传感ZXP0120ADB型压力传感器在可穿戴设备中大放异彩
  18. 核心概念 —— 契约(Contracts)
  19. Android NFC一般使用方法
  20. 随身wifi与宽带的区别是什么?

热门文章

  1. 类脑神经网络(1)——神经系统与内分泌的关系
  2. Python 【微信视频号】短视频的自动上传与发布实例演示,同时支持抖音、快手、哔哩哔哩、小红书、微视、西瓜视频、微信视频号等平台的视频自动化同步发布
  3. 安装SPARK 环境变量设置
  4. 多迪技术总监揭秘:Java入门最佳学习路径几个阶段?
  5. The Suspects浅析
  6. 1 + “X“ 网络系统 建设与运维(中级)
  7. 配置yum源(removing mirrorlist with no valid mirrors Cannot find a valid baseurl for repo)
  8. paddlehub人像抠图+PIL图像处理
  9. 时间序列分析六:截面数据和时序数据结合的多变量时序分析
  10. Navicat for MySQL 使用教程