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

原创 2017年06月19日 11:47:33

(一)写在前面

因为一些原因,在跨入编程界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 21 15 NAK (negative acknowledge) 拒绝接收
00010110 22 16 SYN (synchronous idle) 同步空闲
00010111 23 17 ETB (end of trans. block) 传输块结束
00011000 24 18 CAN (cancel) 取消
00011001 25 19 EM (end of medium) 介质中断
00011010 26 1A SUB (substitute) 替补
00011011 27 1B ESC (escape) 溢出
00011100 28 1C FS (file separator) 文件分割符
00011101 29 1D GS (group separator) 分组符
00011110 30 1E RS (record separator) 记录分离符
00011111 31 1F US (unit separator) 单元分隔符
00100000 32 20 (space) 空格
00100001 33 21 !  
00100010 34 22 "  
00100011 35 23 #  
00100100 36 24 $  
00100101 37 25 %  
00100110 38 26 &  
00100111 39 27 '  
00101000 40 28 (  
00101001 41 29 )  
00101010 42 2A *  
00101011 43 2B +  
00101100 44 2C ,  
00101101 45 2D -  
00101110 46 2E .  
00101111 47 2F /  
00110000 48 30 0  
00110001 49 31 1  
00110010 50 32 2  
00110011 51 33 3  
00110100 52 34 4  
00110101 53 35 5  
00110110 54 36 6  
00110111 55 37 7  
00111000 56 38 8  
00111001 57 39 9  
00111010 58 3A :  
00111011 59 3B ;  
00111100 60 3C <  
00111101 61 3D =  
00111110 62 3E >  
00111111 63 3F ?  
01000000 64 40 @  
01000001 65 41 A  
01000010 66 42 B  
01000011 67 43 C  
01000100 68 44 D  
01000101 69 45 E  
01000110 70 46 F  
01000111 71 47 G  
01001000 72 48 H  
01001001 73 49 I  
01001010 74 4A J  
01001011 75 4B K  
01001100 76 4C L  
01001101 77 4D M  
01001110 78 4E N  
01001111 79 4F O  
01010000 80 50 P  
01010001 81 51 Q  
01010010 82 52 R  
01010011 83 53 S  
01010100 84 54 T  
01010101 85 55 U  
01010110 86 56 V  
01010111 87 57 W  
01011000 88 58 X  
01011001 89 59 Y  
01011010 90 5A Z  
01011011 91 5B [  
01011100 92 5C \  
01011101 93 5D ]  
01011110 94 5E ^  
01011111 95 5F _  
01100000 96 60 `  
01100001 97 61 a  
01100010 98 62 b  
01100011 99 63 c  
01100100 100 64 d  
01100101 101 65 e  
01100110 102 66 f  
01100111 103 67 g  
01101000 104 68 h  
01101001 105 69 i  
01101010 106 6A j  
01101011 107 6B k  
01101100 108 6C l  
01101101 109 6D m  
01101110 110 6E n  
01101111 111 6F o  
01110000 112 70 p  
01110001 113 71 q  
01110010 114 72 r  
01110011 115 73 s  
01110100 116 74 t  
01110101 117 75 u  
01110110 118 76 v  
01110111 119 77 w  
01111000 120 78 x  
01111001 121 79 y  
01111010 122 7A z  
01111011 123 7B {  
01111100 124 7C |  
01111101 125 7D }  
01111110 126 7E ~  
01111111 127 7F DEL (delete) 删除

(八)引申5 ASCII码表扩充

版权声明:本文为博主原创文章,未经博主允许不得转载。

Chr函数详解

  • 2012年05月12日 22:19
  • 4KB
  • 下载

Asc/AscB/AscW和Chr/ChrB/ChrW函数之间的区别

概要:多年来,BASIC程序员一直使用Asc和Chr函数来访问和操作ASCII字符集。随着Unicode被主流操作系统和应用程序所接受,需要改进版本的Asc和Chr函数已经开发了。为了满足这种需求,针...

Python 中的lower()、upper()函数和str\chr

今天遇到一点小问题,需要编写一个程序将List 中的无规则英文名按【首字母大写其余部分小写】的方式转换 一开始的思路是编写一个函数将每个名字字符串【str】进行处理,如何用map进行批处理 不得不...

ASCIISTR,ASCII,CHR函数的区别

今天偶然看到一个函数ASCIISTR,搜了下,似乎没看到有详细介绍这个函数的,所以找到联机文档,研究了一下,和大家分享: 一、ASCII函数         ASCII函数,是将字符转成ASCII码...

VB.NET 之 Chr 函数

Chr 函数 返回与指定的 ANSI 字符代码相对应的字符。 Chr(charcode) charcode 参数是可以标识字符的数字。 说明 从 0 到 31 的数字表示标准的不可打印的 ...

PHP函数篇之掌握ord()与chr()函数应用

ord()函数把字符转换为十进制数字,chr()函数把十进制数字转化为字符,在二进制,八进制,十进制与十六进制之间充当桥梁的作用 中文字符编码研究系列第三期,PHP函数篇掌握ord()与 chr()...
  • zimuxin
  • zimuxin
  • 2016年08月16日 10:25
  • 112

三思笔记之oracle函数

  • 2011年03月22日 13:02
  • 4.66MB
  • 下载

oracle函数大全笔记

  • 2013年07月22日 17:12
  • 8KB
  • 下载

oracle学习笔记之存储过程与存储函数

存储过程与存储函数说明:存储函数有返回值!存储过程没有返回值! 指存储在数据库中供所有用户程序调用的子程序叫存储过程、存储函数。 什么时候用存储过程/存储函数 原则:如果只有一个返回值,用存储函...

oracle 分析函数学习笔记

  • 2009年06月12日 13:08
  • 190KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle中的chr()函数和asicc()函数 - 笔记
举报原因:
原因补充:

(最多只允许输入30个字)