就个人而言,我会使用CHR()来识别零值。 nul是ASCII 0, CHR()将返回您传入的数字的字符表示。

SQL> with the_data as (

2 select 'a' || chr(0) || 'b' as str from dual

3 union all

4 select 'a' || 'c' from dual

5 )

6 select dump(str)

7 from the_data

8 where str like '%' || chr(0) || '%'

9 ;

DUMP(STR)

----------------------------------------------------

Typ=1 Len=3: 97,0,98

正如您所看到的那样,通过连接CHR(0)周围的百分比符号CHR(0)相当于nul),您可以返回带有nul的行。

DUMP()返回数据类型( 1表示VARCHAR2 )字符串的长度(以字节为单位)和数据的内部表示形式; 默认为二进制。

但是, 您需要注意多字节数据,因为CHR()返回的数字的模数等于256:

SQL> with the_data as (

2 select 'a' || chr(0) || 'b' as str from dual

3 union all

4 select 'a' || chr(256) || 'c' from dual

5 )

6 select dump(str)

7 from the_data

8 where str like '%' || chr(0) || '%'

9 ;

DUMP(STR)

-------------------------------------------------

Typ=1 Len=3: 97,0,98

Typ=1 Len=4: 97,1,0,99

正如你所看到的,你会错误地在这里找到一个nul,使用CHR()或DUMP()

换句话说,如果您没有多字节数据,那么最简单的方法就是替换它:

update

set = replace(, chr(0));

使用RAWTOHEX()有类似的问题; 虽然你可以找到00但不能保证它实际上是一个零点:

SQL> with the_data as (

2 select 'a' || chr(0) || 'b' as str from dual

3 union all

4 select 'a' || chr(256) || 'c' from dual

5 )

6 select rawtohex(str)

7 from the_data

8 where str like '%' || chr(0) || '%'

9 ;

RAWTOHEX

--------

610062

61010063

它实际上还有一个问题; 想象你有两个字符10和06 ,返回的值是1006 ,你会找到00 。 如果您要使用此方法,则必须确保仅从字符串的开头查看两个字符组。

由于nul字符的内部表示用于表示其他多字节字符的部分,因此您不能只替换它们,因为您不知道它是一个字符还是半个字符。 因此,如果您使用多字节字符集,据我所知,您将无法执行此操作。

oracle字符nul怎么输入,oracle - 如何摆脱Oracle数据库中的NUL字符? - 堆栈内存溢出...相关推荐

  1. php oracle 无查询结果,php - Oracle Insert查询不起作用,也不会抛出任何错误 - 堆栈内存溢出...

    嗨,我是Oracle的新手. 我试图在PHP中使用oracle将记录插入表中. 但它不起作用,也没有抛出任何错误. 以下是我的代码. 请告诉我我做错了什么. $insertSQL= "INS ...

  2. oracle中睡眠,sql - ORACLE中的睡眠功能 - 堆栈内存溢出

    创建一个只执行锁定并将其安装到使用dbms_lock(USERA)"信任"的其他用户的过程,授予USERA访问dbms_lock的权限. 然后只授予USERB访问此功能的权限. 然 ...

  3. oracle 报错pls 00405,oracle - 检查是否存在PLS-00405:在此上下文中不允许子查询 - 堆栈内存溢出...

    使用正确的语法,将如下所示: create or replace procedure daily_rpt ( v_start in date , v_end in date ) as begin fo ...

  4. oracle apex触发器,triggers - 插入之前/更新Apex触发器之前,测试覆盖率失败 - 堆栈内存溢出...

    在机会上插入/更新触发器之前,我有一个非常简单的方法,它可以根据包含销售处(州)位置信息的下拉值自动选择价目表. 这是我的触发器 : trigger SelectPriceBook on Opport ...

  5. C语言 输入一个长度小于80的字符串,将字符串中的字母字符滤掉掉,并统计新生成串中包含的字符个数。

    C语言实现:输入一个长度小于80的字符串,修改此字符串,将字符串中的字母字符滤掉掉,并统计新生成串中包含的字符个数.主函数如下,请实现函数fun. 主函数代码: #include <stdio. ...

  6. oracle 内存错误的是什么意思,java - 是什么导致此JMS错误连接到OracleAQ? - 堆栈内存溢出...

    我从正在侦听OracleAQ的Java服务中收到零星的错误. 它似乎每天晚上都在发生,我不确定发生了什么. 真的是数据库连接问题吗? 还是"出队失败"表明它已连接并且发生了其他事情 ...

  7. python读取oracle数据转换成json文件_python 读取网页json数据库中

    数据挖掘敲门砖--Python爬虫入门 Python爬虫.jpg WHAT 数据挖掘是一门综合的技术,随着Ai的兴起,在国内的需求日渐增大. 数据挖掘的职业方向通常有三个,顺便概要地提一下所需的技能( ...

  8. oracle判断是否为空为空赋值,sql数据库中ISNULL函数用法 sql语句判断值是否为空...

    在使用sql数据库的过程,由于服务器设置不当导致sql server的某个字段为空,导致部分内容显示失败,就需要将为空的字符替换为制定的字符. 例子,sql语句: use 数据库 update new ...

  9. Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中

    功能:在textbox中输入内容,动态从数据库模糊查询显示到下拉框中,以供选择 1.建立一aspx页面,html代码 <HTML>     <HEAD>         < ...

  10. c语言 删除小写字母,c++ - 使用C字符串和指针。 删除除小写字母和空格以外的所有字符 - 堆栈内存溢出...

    当您决定从字符串中删除一个字符时,您可以将剩余的字符向左移动一个位置,这很好,但是无论该字符的实际值如何,都可以在该字符开始移动后的位置跳过该字符是. 这就是为什么您在输出中看到不需要的字符的原因. ...

最新文章

  1. 如何安装Pycharm官方统计代码行插件
  2. java 注解学习_java注解的学习
  3. python进阶(小白也能看懂)——装饰器浅谈(一)
  4. kafka Failed to send producer
  5. (88)FPGA二分频设计,面试必问(十二)(第18天)
  6. Thinkphp5 同时连接两个库
  7. Linux基础——怎么样从手机 (Android安卓/IOS苹果) 通过 SSH 远程 Linux
  8. flume与kafka的整合
  9. 窄带物联网技术有望终结碎片化现状
  10. 挂机宝是服务器还是虚拟主机,挂机宝是云虚拟主机吗
  11. Spring之Bean后处理器——BeanPostProcessor的使用与源码解析
  12. VSCODE常用快捷键
  13. LVGL——lv_gauge 仪表盘
  14. python计算方位角_python实现两个经纬度点之间的距离和方位角
  15. DBeaver Column repay _ script _ sql is read-only : Nocorresponding table column问题
  16. Service id not legal hostname (service_cmn)
  17. Flutter的圆形头像四种简单用法
  18. LSP标识符(LSP ID)
  19. 跨国面板数据(1960-2020)七:银行、外汇、货币、利率、通货膨胀、债务(excel、stata版)
  20. 【跨域】跨域原理 + springboot跨域配置(万能版)

热门文章

  1. Taro+react开发(31)同样的数据可以数组遍历
  2. 前端学习(3265):js中undefine中3相关属性
  3. 前端学习(3221):类式组件中的props
  4. [html] Standards模式和Quirks模式有什么区别?
  5. [vue] 在vue中使用this应该注意哪些问题?
  6. [css] 你对伪类了解多少?分为几大类?
  7. 工作220:git clone的时候地址需要改成自己的用户名
  8. 工作163:eachrt修改
  9. 工作96:当前页面拿id
  10. “约见”面试官系列之常见面试题之第九十九篇之router的钩子函数(建议收藏)