问题背景:
一个工商注册号,正常的用trim能解决的问题,但是这个case,trim后和肉眼看到的就是不一样就是多了一个字符
分析问题:
为了能问题重现,下面模拟 创造一个12345加上一个特殊字符(假象空白)
select concat('123456',chr(9)) as xx  from dual)
 
 
 
1.看看长度
SELECT  length(concat('123456',chr(9))) as xx  from dual

看到上面里面 心里感觉有空字符(6!=7)
 
试试 trim的效果
    SELECT  length(xx),length(trim(xx))
    from(
select concat('123456',chr(9)) as xx  from dual)
 
发现trim不掉还是7个长度
 
Ok我们用dump函数来了解oracle的数据类型存储方式
select dump(xx) from (select concat('123456', chr(9)) as xx from dual)


 
上面type=1标示 值得类型是VARCHAR2
Len标示该值占用的字节数,是7个长度
49,50,51,52,53,54,9
49,50,51,52,53,54对于ascii码是123456
而9 这个ascii值是 水平定位符号
 
但是这个9是怎么进去的呢? 是ctrl+tab键加入的!

ascii 码在线查询:http://www.supfree.net/search.asp?id=6132

oracle trim不掉空白字符分享(转)的更多相关文章

  1. oracle trim函数用法详解

    在oracle数据库中,trim一般都是用在删除字符串两边的空格.实际上,trim也可以用来删除字符串两边的指定字符.并且trim指定删除的字符串只能是单个字符Oracle TRIM函数是很常见的函数 ...

  2. 安装Oracle之后解决掉的问题分享

    TNS-03505: 无法解析名称                                                            在测试tnsping的时候始终显示这么个问题. ...

  3. php 去除变态空格字符方法,空格trim不掉问题解决思路

    前言:今天过滤一段文本,后面有2个空格,用trim去不掉,用preg_match也去不掉,去网上翻阅了无数的方法,终于找到了非常好的一个解决方法.该文章来源于https://my.oschina.ne ...

  4. Oracle TRIM函数语法介绍

    Oracle中trim的完整参数TRIM([ {  { LEADING | TRAILING | BOTH }   [ trim_character ] | trim_character   }  F ...

  5. Oracle 如何删除掉一个用户下的所有对象

    create or replace procedure drop_all as cursor cur_obj is select uo.OBJECT_NAME, uo.OBJECT_TYPE from ...

  6. oracle trim无效?

    这里说说如果是全角空格怎么去除 方法一 trim(TO_SINGLE_BYTE('aaa')) 方法二 SELECT TRIM(replace('aaa',' ','')) FROM dual

  7. oracle 找回DROP掉的表

    select * from pan ;   --有数据 drop table pan;        --删除表 select * from pan ;   --表或视图不存在 flashback t ...

  8. oracle中的trim()函数详解

    1.先看一下Oracle TRIM函数的完整语法描述 TRIM([ { { LEADING | TRAILING | BOTH }[ trim_character ]| trim_character} ...

  9. 25、oracle(一)

    1)了解oracle背景,概念和特点 2)掌握oracleSQL对单表各种查询操作 3)掌握oracleSQL中函数的使用 4)掌握数值型number,字符串型varchar2,日期型date,条件判 ...

随机推荐

  1. c#字符相似度对比

    字符串相似度算法使用 Levenshtein Distance算法(中文翻译:编辑距离算法) 这算法是由俄国科学家Levenshtein提出的. 下面使用C#实现 public class Leven ...

  2. 微软和Google的盈利模式对比分析

    一: 微软和Google是世界上最成功科技巨头之一,但他们之间却有着不同的产品和业务,二者的盈利方式也各有不同,本文将分析和探讨的二者盈利模式的异同. 微软的盈利模式 在1975年由大学肄业的Bill ...

  3. Http报头中不能添加中文字符

    今逢一Bug,如下: Invalid non-ASCII or control character in header: 0x6D4B 大意为:报头中有非法字符.故可将其编码后,set入Header, ...

  4. 内联函数背景、例子、与普通函数的区别及要注意的地方 ------新标准c++程序设计

    背景: 使用函数能够避免将相同代码重些多次的烦恼,还能减少可执行程序的体积,但也会带来程序运行时间上的开销.函数调用在执行时,首先在栈中为形参和局部变量分配存储空间,然后还要将实参的值复制给形参,接下 ...

  5. 转:Linux下同时启动两个Tomcat进行设置

    转: Linux下同时启动两个Tomcat进行设置 解压tar.gz:tar -zxvf apache-tomcat-6.0.41.tar.gz 至相应的路径下,可解压至两个不同的路径或者相同的路径下 ...

  6. 离线安装 python 第三方库

     离线安装 python 第三方库 首先你需要在联网的服务器上已经安装了一个第三方库,比如是paramiko,也就是说你已经执行了 pip install paramiko    ,小提示: 如果在安 ...

  7. oracle 新增主键

    alter table tablename add constraint pk_tablename primary key (column1,column2,...); 可以新增单主键或联合主键: 新 ...

  8. 写excel

    一.写excel import xlwt book = xlwt.Workbook()# 创建excel sheet = book.add_sheet('stu_info')# 加一个sheet sh ...

  9. 【转】C#控件——DataGridView单元格文本自动换行

    源地址:https://www.cnblogs.com/wangshenhe/archive/2012/07/25/2608324.html DataGridView是.NET开发中常用的控件,在开发 ...

  10. django 重写User表增加字段设置

    models中: from django.contrib.auth.models import AbstractUser lass User(AbstractUser): mobile = model ...