(一)写在前面
因为一些原因,在跨入编程界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(st |