chr()函數示例: select chr(38) from dual; ascii()函數示例: select ascii('&') from dual;sql
好比「&」到底爲何在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') ,它就會乖乖的向表中插入這條數據。這下,全部疑慮就都雲開霧散廖!~oracle
對特殊字符單獨進行處理(加'或者chr(ascii))後,再用||鏈接其餘字符。函數
下面是常見字符與ascii對照表,以供參考:spa
第一部分由 00H 到 1FH 共 32 個,通常用來通信或做爲控制之用,有些字符可顯示於屏幕,有些則沒法顯示在屏幕上,但能看到其效果(例如換行字符、歸位字符)。blog
第二部分是由 20H 到 7FH 共 96 個,這 95 個字符是用來表示阿拉伯數字、英文字母大小寫和底線、括號等符號,均可以顯示在屏幕上。以下表:ci
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 碼。這些字符是用來表示框線、音標和其它歐洲非英語系的字母。table
ESC鍵test |
VK_ESCAPE (27)變量 |
回車鍵select |
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) |