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)