Oracle中的CHR()函数与ASCII()函数
工作中经常会处理一些因特殊字符而导致的错误,如上周我就遇到了因为换行符和回车符导致的数据上报的错误,这种错误比较难以发现,通常是由于用户的输入习惯导致的,有可能数据极少,就那么几行错误从而导致整个数据上报失败。处理这种错误可以通过应用端对数据进行过滤、处理,但最简单方便的方法就是通过SQL语句在数据库源端直接处理掉,把特殊字符替换掉等处理,利用replace函数结合CHR()函数或ASCII()函数替换掉特殊字符。
CHR()函数:将ASCII码转换为字符
ASCII()函数:将字符转换为ASCII码
下面是常见字符与ascii对照表,以供参考:
第一部分由 00H 到 1FH 共 32 个,一般用来通讯或作为控制之用,有些字符可显示于屏幕,有些则无法显示在屏幕上,但能看到其效果(例如换行字符、归位字符)。
第二部分是由 20H 到 7FH 共 96 个,这 95 个字符是用来表示阿拉伯数字、英文字母大小写和底线、括号等符号,都可以显示在屏幕上。如下表:

第三部分由 80H 到 0FFH 共 128 个字符,一般称为『扩充字符』,这 128 个扩充字符是由 IBM 制定的,并非标准的 ASCII 码。这些字符是用来表示框线、音标和其它欧洲非英语系的字母。

最近一次处理回车及换行数据的过程:
--处理换行
update sm_testrexxxxxx t set value=replace(value,char(),'')
where t.recordtimestamp>= to_date('2016-01-01','YYYY-MM-DD HH24:MI:SS')
and t.teststateid in (select teststateid from sm_teststxxxxxx r
where r.name like '%检验结论%' and r.teststateid=t.teststateid); --处理回车
update sm_testrexxxxxx t set value=replace(value,char(),'')
where t.recordtimestamp>= to_date('2016-01-01','YYYY-MM-DD HH24:MI:SS')
and t.teststateid in (select teststateid from sm_teststxxxxxx r
where r.name like '%检验结论%' and r.teststateid=t.teststateid); --验证是否还有回车和换行(查询出结果粘在文本框能看出)
select distinct value,'' from sm_testrexxxxxx t
where t.recordtimestamp>= to_date('2016-01-01','YYYY-MM-DD HH24:MI:SS')
and t.teststateid in (select teststateid from sm_teststxxxxxx r
where r.name like '%检验结论%' and r.teststateid=t.teststateid);
部分内容转自:http://blog.sina.com.cn/s/blog_9d5f7ceb01012i44.html
-----------------------学习留存--------------------------------
Oracle中的CHR()函数与ASCII()函数的更多相关文章
- oracle chr(38) 和 ascii('&') 函数
oracle chr(38) 和 ascii('&') 函数 select chr(38) from dual; select ascii('&') from dual;
- Oracle中使用REGEXP_SUBSTR,regexp_replace,wm_concat函数
REGEXP_SUBSTR函数格式如下: function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)__srcstr ...
- oracle中trim,ltrim,rtrim函数用法
该函数共有两种作用:第一种,即大家都比较熟悉的去除空格.例子:--TRIM去除指定字符的前后空格SQL> SELECT TRIM(' dd df ') FROM dual;TRIM('DDDF' ...
- Oracle中NVL、NVL2、DECODE函数的用法
DECODE函数的用法: DECODE(value,if1,then1,if2,then2,if3,then3,......,else),表示如果value的值等于if1时,DECODE函数的结果 ...
- Oracle中的4大空值处理函数用法举例
nvl(exp1,exp2): 如果exp1为空,则返回exp2:否则返回exp1nvl2(exp1,exp2,exp3): ...
- Oracle中的COALESCE,NVL,NVL2,NULLIF函数
http://jingyan.baidu.com/article/fa4125acaf898e28ac7092b9.html
- Oracle中常用的系统函数
本文主要来梳理下Oracle中的常用的系统函数,掌握这些函数的使用,对于我们编写SQL语句或PL/SQL代码时很有帮助,所以这也是必须掌握的知识点. 本文主要包括以下函数介绍:1.字符串函数2. 数值 ...
- Oracle中的NVL函数
Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数.主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以. 下面简 ...
- [转载]Oracle中的NVL函数
Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数.主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以. 下面简 ...
随机推荐
- wpf的UserControl用户控件怎么添加到Window窗体中
转载自 http://www.cnblogs.com/shuang121/archive/2013/01/09/2853591.html 我们来新建一个用户控件UserControl1.xaml &l ...
- 正则-RegExp()构造函数
上次写了js正则的字面量声明,今天说说RegExp()构造函数声明: var p=/cat/g; //字面量声明var p=new RegExp('cat','g') //构造函数声明 它两所表达 ...
- postgresql 设置只读用户
postgresql 设置只读用户 ` CREATE USER readonly WITH ENCRYPTED PASSWORD 'ropass'; alter user readonly set d ...
- Python 下载网络mp4视频资源
最近着迷化学, 特别是古代的冶炼技术,感叹古人的聪明. 春秋时期的炼铁方法是块炼铁,即在较低的冶炼温度下,将铁矿石固态还原获得海绵铁,再经锻打成的铁块.冶炼块炼铁,一般采用地炉.平地筑炉和竖炉3种.铁 ...
- GitHub Windows客户端无法登录
Windows 7系统,下载GitHub后始终无法登录,貌似填写的用户名和密码都没有提交服务器,直接客户端“验证”的. 解决办法: 下载 Microsoft .NET Framework 4.5 安装 ...
- Oracle 11g RAC 环境打PSU补丁的详细步骤
首先重要的事情说三遍:操作之前还是自己先看文档!操作之前还是自己先看文档!!操作之前还是自己先看文档!!! 把11.2.0.4 RAC 环境打PSU补丁的步骤详细记录一下,方便参考. 环境:11.2. ...
- UWP VirtualizedVariableSizedGridView 支持可虚拟化可变大小Item的View(二)
上篇UWP VirtualizedVariableSizedGridView 支持可虚拟化可变大小Item的View(一) 讲到该控件的需要和设计过程. 这篇讲讲开发过程中一些重要问题解决. 1.支持 ...
- 更改pip安装源的镜像解决安装总是timeout的情况
由于国外的pip源总是由于各种原因不能被访问或者网速过慢,而造成的timeout错误 解决方法是修改pip的配置文件(如果没有配置文件在相应的地方新建,配置文件的路径和名字参考这里),设置安装包时候访 ...
- Ubuntu菜鸟入门(四)—— 搜狗输入法
一 搜狗输入法安装 1 下载安装包: http://pinyin.sogou.com/linux/ 2 安装安装包 (1)"GDebi",这是一个用于安装你自己手动下载包的 ...
- MSP430FR4133/4131/4132单片机破解芯片解密多少钱?
德州仪器MSP430FR4133/4131/4132单片机破解芯片解密多少钱? MSP430FR4133.MSP430FR4131.MSP430FR4132 ####[微信:icpojie]#### ...