Oracle中的chr()函数和asicc()函数 - 笔记

(一)写在前面

因为一些原因,在跨入编程界N年以后的脱离仪式上,还是没能脱离代码。辗转了Java及Android,不得不饮恨放弃。专项了web前端,也是不了了之。痛定思痛,在“学”和“用”两个方面考虑,最终还是选定了Oracle为代表的数据库。还是那句话,我们每个人,在时间的某个节点,总会遇上一些不得不的,选择或被选择。

离别时只道是当时习惯 / 一切都很平淡不觉出彩 / 雨落时才想起那种心安 / 欢声和笑语还在我耳畔 / 

如今已各自在城市两端 / 相距远相见难不聚只散 / 其实我并没有太多期盼 / 毕竟一生很短少有圆满 /

------------------------------------------------------------分割线---------------------------------------------------------------------

(二)用到语句

遇到一个select语句,贴出如下:

select chr(54740) zhao,chr(65) chr from dual;
输出结果如下:
ZH C
-- -
赵 A


(三)语句分析

此处用到chr()函数,把ASCII整数值,转换成对应的字符的操作。翻译一下这个语句:“从dual表中查询‘54740’和‘65’两个ASCII码对应的字符,表头设为‘zhao’和‘chr’”

1、54740对应的字符为“赵”

2、65对应的字符为“A”

3、因为54740对应一个汉字,一个汉字又占用两个字符,所以表头的“zhao”只显示两个字符“ZH”

4、因为65对应一个大写字母A,所以表头的“chr”只显示一个字符“C”

5、还有一点做补充吧,大家都知道。小写字母a和大写字母A在ASCII表中对应的数值是不同的,也就是这是两个ASCII码


(四)引申分析

之前在Java和Android软件的编码过程中,偶用到数据库,需要把数据库中几个字符替换掉。其中就有回车符和换行符,也是走了弯路。为了言简意赅,看下面:

1、错误写法:replace(desc,'\r\n','');

2、正确写法:replace(desc,chr(13)||chr(10),'');

在此,replace语法就不做过多介绍,即替换函数


(五)引申2 几个常用的chr函数对照

chr(9) 制表符

chr(10) 换行符

chr(13) 回车符

chr(32) 空格符

chr(34) 双引号“”


(六)引申3 ASCII函数

用法:select  ASCII('A') from dual;

结果:65

作用:把对应的字符,转换成ASCII码


(七)引申4 ASCII码表

ASCII码表 0-127

Bin Dec Hex 缩写/字符 解释
00000000 0 00 NUL(null) 空字符
00000001 1 01 SOH(start of headling) 标题开始
00000010 2 02 STX (start of text) 正文开始
00000011 3 03 ETX (end of text) 正文结束
00000100 4 04 EOT (end of transmission) 传输结束
00000101 5 05 ENQ (enquiry) 请求
00000110 6 06 ACK (acknowledge) 收到通知
00000111 7 07 BEL (bell) 响铃
00001000 8 08 BS (backspace) 退格
00001001 9 09 HT (horizontal tab) 水平制表符
00001010 10 0A LF (NL line feed, new line) 换行键
00001011 11 0B VT (vertical tab) 垂直制表符
00001100 12 0C FF (NP form feed, new page) 换页键
00001101 13 0D CR (carriage return) 回车键
00001110 14 0E SO (shift out) 不用切换
00001111 15 0F SI (shift in) 启用切换
00010000 16 10 DLE (data link escape) 数据链路转义
00010001 17 11 DC1 (device control 1) 设备控制1
00010010 18 12 DC2 (device control 2) 设备控制2
00010011 19 13 DC3 (device control 3) 设备控制3
00010100 20 14 DC4 (device control 4) 设备控制4
00010101
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值