Oracle中chr()和ascii()函数(附:常用字符与ascii对照表)

Oracle中chr()和ascii()函数(附:常用字符与ascii对照表)

关键字:chr()

chr()函数作用:“特殊”字符特殊处理

在PLSql中可查询相对应的字码与特殊符

chr()函数示例: select chr(38) from dual;  ascii()函数示例: select ascii(‘&‘) from dual;

    

比如“&”到底为什么在Oracle中成了特殊字符呢?经过查找,终于揭晓了答案:原来&这个字符在oracle的sql语句或存储过程中用来指定其后跟的是执行时要你输入的变量。如:select * from &AAA;则执行此语句时,系统会提示你给赋值。或者比如:insert into test(col1,col2,col3,TYPE) values(0,0,0,‘&type‘),在PL/SQL Developer的SQL Window 中执行这条语句时,会弹出一个Variables提示框,要求你输入变量‘type‘值。而如果执行:insert into test(col1,col2,col3,TYPE) values(0,0,0,chr(38)||‘type‘) ,它就会乖乖的向表中插入这条数据。这下,所有疑虑就都云开雾散廖!~

对特殊字符单独进行处理(加‘或者chr(ascii))后,再用||连接其他字符。

下面是常见字符与ascii对照表,以供参考:

第一部分由 00H 到 1FH 共 32 个,一般用来通讯或作为控制之用,有些字符可显示于屏幕,有些则无法显示在屏幕上,但能看到其效果(例如换行字符、归位字符)。

第二部分是由 20H 到 7FH 共 96 个,这 95 个字符是用来表示阿拉伯数字、英文字母大小写和底线、括号等符号,都可以显示在屏幕上。如下表:

ASCII 码 字符   ASCII 码 字符   ASCII 码 字符   ASCII 码 字符
十进位 十六进位   十进位 十六进位   十进位 十六进位   十进位 十六进位
032 20     056 38 8   080 50 P   104 68 h
033 21 !   057 39 9   081 51 Q   105 69 i
034 22 "   058 3A :   082 52 R   106 6A j
035 23 #   059 3B ;   083 53 S   107 6B k
036 24 $   060 3C <   084 54 T   108 6C l
037 25 %   061 3D =   085 55 U   109 6D m
038 26 &   062 3E >   086 56 V   110 6E n
039 27   063 3F ?   087 57 W   111 6F o
040 28 (   064 40 @   088 58 X   112 70 p
041 29 )   065 41 A   089 59 Y   113 71 q
042 2A *   066 42 B   090 5A Z   114 72 r
043 2B +   067 43 C   091 5B [   115 73 s
044 2C ,   068 44 D   092 5C \   116 74 t
045 2D -   069 45 E   093 5D ]   117 75 u
046 2E .   070 46 F   094 5E ^   118 76 v
047 2F /   071 47 G   095 5F _   119 77 w
048 30 0   072 48 H   096 60 `   120 78 x
049 31 1   073 49 I   097 61 a   121 79 y
050 32 2   074 4A J   098 62 b   122 7A z
051 33 3   075 4B K   099 63 c   123 7B {
052 34 4   076 4C L   100 64 d   124 7C |
053 35 5   077 4D M   101 65 e   125 7D }
054 36 6   078 4E N   102 66 f   126 7E ~
055 37 7   079 4F O   103 67 g   127 7F  

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


ESC键


VK_ESCAPE (27)


回车键


VK_RETURN (13)


TAB键


VK_TAB (9)


Caps Lock键


VK_CAPITAL (20)


Shift键


VK_SHIFT ()


Ctrl键


VK_CONTROL (17)


Alt键


VK_MENU (18)


空格键


VK_SPACE (/32)


退格键


VK_BACK (8)


左徽标键


VK_LWIN (91)


右徽标键


VK_LWIN (92)


鼠标右键快捷键


VK_APPS (93)


Insert键


VK_INSERT (45)


Home键


VK_HOME (36)


Page Up


VK_PRIOR (33)


PageDown


VK_NEXT (34)


End键


VK_END (35)


Delete键


VK_DELETE (46)


方向键(←)


VK_LEFT (37)


方向键(↑)


VK_UP (38)


方向键(→)


VK_RIGHT (39)


方向键(↓)


VK_DOWN (40)


F1键


VK_F1 (112)


F2键


VK_F2 (113)


F3键


VK_F3 (114)


F4键


VK_F4 (115)


F5键


VK_F5 (116)


F6键


VK_F6 (117)


F7键


VK_F7 (118)


F8键


VK_F8 (119)


F9键


VK_F9 (120)


F10键


VK_F10 (121)


F11键


VK_F11 (122)


F12键


VK_F12 (123)


Num Lock键


VK_NUMLOCK (144)


小键盘0


VK_NUMPAD0 (96)


小键盘1


VK_NUMPAD0 (97)


小键盘2


VK_NUMPAD0 (98)


小键盘3


VK_NUMPAD0 (99)


小键盘4


VK_NUMPAD0 (100)


小键盘5


VK_NUMPAD0 (101)


小键盘6


VK_NUMPAD0 (102)


小键盘7


VK_NUMPAD0 (103)


小键盘8


VK_NUMPAD0 (104)


小键盘9


VK_NUMPAD0 (105)


小键盘.


VK_DECIMAL (110)


小键盘*


VK_MULTIPLY (106)


小键盘+


VK_MULTIPLY (107)


小键盘-


VK_SUBTRACT (109)


小键盘/


VK_DIVIDE (111)


Pause Break键


VK_PAUSE (19)


Scroll Lock键


VK_SCROLL (145)

       
时间: 2024-09-29 21:54:35

Oracle中chr()和ascii()函数(附:常用字符与ascii对照表)的相关文章

SqlSever基础 ascii函数 返回一个字符的ASCII码值

镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ 1 code 1 --就算他有两个字符,ascii也只能获得第一个字符的ASCII码值 2 select ascii('ab') 2 show ------------------------------------------博文的精髓,在技术部分,更在镇场一诗.SqlSever是优秀的语言,值

用sql语句导出oracle中的存储过程和函数

用sql语句导出oracle中的存储过程和函数: SET echo off ; SET heading off ; SET feedback off ; SPOOL 'C:/PRC.SQL' replace SELECT CASE WHEN LINE = 1 THEN 'CREATE OR REPLACE ' || TEXT WHEN LINE = MAX_LINE THEN TEXT || CHR(10 ) || '/' ELSE TEXT END FROM USER_SOURCE A LEF

[转]常用字符与ASCII代码对照表

常用字符与ASCII代码对照表 为了便于查询,以下列出ASCII码表:第128-255号为扩展字符(不常用) ASCII码 键盘 ASCII 码 键盘 ASCII 码 键盘 ASCII 码 键盘 27 ESC 32 SPACE 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' 40 ( 41 ) 42 * 43 + 44 ' 45 - 46 . 47 / 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 58 : 59

Oracle中生成随机数的函数(转载)

在Oracle中的DBMS_RANDOM程序包中封装了一些生成随机数和随机字符串的函数,其中常用的有以下两个: DBMS_RANDOM.VALUE函数 该函数用来产生一个随机数,有两种用法: 1. 产生一个介于0和1之间(不包含0和1)的38位精度的随机数,语法为: DBMS_RANDOM.VALUE RETURN NUMBER; 这种用法不包含参数. 2. 产生一个介于指定范围之内的38位精度的随机数,语法为: DBMS_RANDOM.VALUE(low IN NUMBER,high IN N

Oracle中的日期处理函数TO_DATE 和 TO_CHAR

Oracle 中的 TO_DATE 和 TO_CHAR 函数oracle 中 TO_DATE 函数的时间格式,以 2008-09-10 23:45:56 为例 格式 说明 显示值 备注 Year(年): yy two digits(两位年) 08   yyythree digits(三位年) 008   yyyy four digits(四位年) 2008 Month(月): mm number(两位月) 09   mon abbreviated(字符集表示) 9月 若是英文版, 则显示 sep

Oracle中时间和日期函数总结

查看当前日期格式:select * from nls_session_parameters where parameter='NLS_DATE_FORMAT'; 修改日期的格式: alter session set nls_date_format = 'yyyy-mm-dd'; 永久设置日期格式:改注册表oracle/HOME0 加字符串NLS_DATE_FORMAT 值yyyy-mm-dd: 1.dd-mon-yy转换为yyyy-mm-dd select to_char(to_date('01

oracle中的nvl(), nvl2()函数

nvl()函数是oracle/plpgsql中的一个函数,格式为:nvl(string1, replace_with) 功能:如果string1 位null,那么nvl()函数返回replace_with的值,否则返回sting1的值. 注意:sting1和replace_with必须是同一数据类型,除非显示的适用to_char函数. 例子: nvl(to_char(some_numeric),’some string’) --其中some_numeric指某个数据类型的值. 例如: nvl(y

java中的常用字符编码ASCII、Unicode和UTF-8

首先讲一下几种字符的编码方式: 1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte).也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111. 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定.这被称为ASCII码,一直沿用至今. ASCI

Oracle 中, 使用 Instr 函数 替换 OR

简述 今天在写 sql时遇到一个情况,表 A中的 ID 是按照 TREE结构存储的.现在需要和表 B中的 NODE_ID连接,取出 B中 NODE_ID可以和 A中任意一个 level的 NODE_ID连接的信息.但是表 B中的 NODE_ID 具体对应到表 A中哪个 level是未知的.对此,最先想到使用的是 OR运算,但是由于效率太低,速度很慢,后来使用 INSTR代替,查询速度得到明显提高. 表结构 表 A - A_SEQ_ID, LVL1_NODE_ID, LVL2_NODE_ID,LV