2014. 7. 17. 21:45 오라클
오라클 CHR 함수
많이 쓰이는 CHR 함수의미 정리
CHR(9) 탭문자
CHR(10) 라인피드 <- 줄바꾸기
CHR(13) 캐리지리턴 <- 행의 처음으로
CHR(38) &
CHR(39) ' <- 싱글따옴표
CHR(44) , <- 쉼표
========== ASCII 코드를 캐릭터로 전환해서 보여 주는 Code ==========
set serveroutput on FORMAT WRAPPED
DECLARE
vTab VARCHAR2(5) := CHR(9);
vNum NUMBER := 0;
vString VARCHAR2(80) := '';
BEGIN
--
-- Formatted lower case letter to ASCII values
--
dbms_output.put_line('Formatted Lower Case Letters to ASCII values');
dbms_output.put_line('-------------------------------------------------------');
FOR i IN ASCII('a') .. ASCII('z') LOOP
IF vNum < 6 THEN
vString := vString||CHR(i)||' : '||i||vTab;
vNum := vNum + 1;
ELSIF vNum = 6 then
dbms_output.put_line(vString||CHR(i)||' : '||i);
vNum := 0;
vString := '';
ELSE
dbms_output.put_line('ERROR');
END IF;
END LOOP;
dbms_output.put_line(vString);
--
-- Formatted upper case letter to ASCII values
--
vString := '';
vNum := 0;
dbms_output.new_line;
dbms_output.new_line;
dbms_output.put_line('Formatted Upper Case Letters to ASCII values');
dbms_output.put_line('-------------------------------------------------------');
FOR i IN ASCII('A') .. ASCII('Z') LOOP
IF vNum < 6 THEN
vString := vString||CHR(i)||' : '||i||vTab;
vNum := vNum + 1;
ELSIF vNum = 6 then
dbms_output.put_line(vString||CHR(i)||' : '||i);
vNum := 0;
vString := '';
ELSE
dbms_output.put_line('ERROR');
END IF;
END LOOP;
dbms_output.put_line(vString);
--
-- Formatted chars less than 'a' to ASCII values
--
vString := '';
vNum := 0;
dbms_output.new_line;
dbms_output.new_line;
dbms_output.put_line('Formatted Letters, less than a to ASCII values');
dbms_output.put_line('-------------------------------------------------------');
FOR i in 0 .. ASCII('a')-1 LOOP
IF vNum < 6 THEN
vString := vString||CHR(i)||' : '||i||vTab;
vNum := vNum + 1;
ELSIF vNum = 6 then
dbms_output.put_line(vString||CHR(i)||' : '||i);
vNum := 0;
vString := '';
ELSE
dbms_output.put_line('ERROR');
END IF;
END LOOP;
dbms_output.put_line(vString);
--
-- Formatted chars greater than 'Z' to ASCII values
--
vNum := 0;
vString := '';
dbms_output.new_line;
dbms_output.new_line;
dbms_output.put_line('Formatted Letters, greater than z to ASCII values');
dbms_output.put_line('-------------------------------------------------------');
FOR i IN ASCII('z') .. ASCII('z')+133 LOOP
IF vNum < 6 THEN
vString := vString||CHR(i)||' : '||i||vTab;
vNum := vNum + 1;
ELSIF vNum = 6 then
dbms_output.put_line(vString||CHR(i)||' : '||i);
vNum := 0;
vString := '';
ELSE
dbms_output.put_line('ERROR');
END IF;
END LOOP;
dbms_output.put_line(vString);
END;
/
결과값은 아래와 같이 출력된다.
=======================================================================================
Formatted Lower Case Letters to ASCII values
-------------------------------------------------------
a : 97 b : 98 c : 99 d : 100 e : 101 f : 102 g : 103
h : 104 i : 105 j : 106 k : 107 l : 108 m : 109 n : 110
o : 111 p : 112 q : 113 r : 114 s : 115 t : 116 u : 117
v : 118 w : 119 x : 120 y : 121 z : 122
Formatted Upper Case Letters to ASCII values
-------------------------------------------------------
A : 65 B : 66 C : 67 D : 68 E : 69 F : 70 G : 71
H : 72 I : 73 J : 74 K : 75 L : 76 M : 77 N : 78
O : 79 P : 80 Q : 81 R : 82 S : 83 T : 84 U : 85
V : 86 W : 87 X : 88 Y : 89 Z : 90
Formatted Letters, less than a to ASCII values
-------------------------------------------------------
: 0 : 1 : 2 : 3 : 4 : 5 : 6
: 7 : 8 : 9
: 10
: 11
: 13 : 12
: 14 : 15 : 16 : 17 : 18 : 19 : 20
: 21 : 22 : 23 : 24 : 25 : 26 : 27
: 28 : 29 : 30 : 31 : 32 ! : 33 " : 34
# : 35 $ : 36 % : 37 & : 38 ' : 39 ( : 40 ) : 41
* : 42 + : 43 , : 44 - : 45 . : 46 / : 47 0 : 48
1 : 49 2 : 50 3 : 51 4 : 52 5 : 53 6 : 54 7 : 55
8 : 56 9 : 57 : : 58 ; : 59 < : 60 = : 61 > : 62
? : 63 @ : 64 A : 65 B : 66 C : 67 D : 68 E : 69
F : 70 G : 71 H : 72 I : 73 J : 74 K : 75 L : 76
M : 77 N : 78 O : 79 P : 80 Q : 81 R : 82 S : 83
T : 84 U : 85 V : 86 W : 87 X : 88 Y : 89 Z : 90
[ : 91 \ : 92 ] : 93 ^ : 94 _ : 95 ` : 96
Formatted Letters, greater than z to ASCII values
-------------------------------------------------------
z : 122 { : 123 | : 124 } : 125 ~ : 126 : 127 : 128
: 129 : 130 : 131 : 132 : 133 : 134 : 135
: 136 : 137 : 138 : 139 : 140 : 141 : 142
: 143 : 144 : 145 : 146 : 147 : 148 : 149
: 150 : 151 : 152 : 153 : 154 : 155 : 156
: 157 : 158 : 159 : 160 : 161 : 162 : 163
: 164 : 165 : 166 : 167 : 168 : 169 : 170
: 171 : 172 : 173 : 174 : 175 : 176 : 177
: 178 : 179 : 180 : 181 : 182 : 183 : 184
: 185 : 186 : 187 : 188 : 189 : 190 : 191
: 192 : 193 : 194 : 195 : 196 : 197 : 198
: 199 : 200 : 201 : 202 : 203 : 204 : 205
: 206 : 207 : 208 : 209 : 210 : 211 : 212
: 213 : 214 : 215 : 216 : 217 : 218 : 219
: 220 : 221 : 222 : 223 : 224 : 225 : 226
: 227 : 228 : 229 : 230 : 231 : 232 : 233
: 234 : 235 : 236 : 237 : 238 : 239 : 240
: 241 : 242 : 243 : 244 : 245 : 246 : 247
: 248 : 249 : 250 : 251 : 252 : 253 : 254
: 255