[Oracle] 아스키코드를 문자로 변환 방법 (CHR, ASCII)

오라클 SQL에서 아스키코드(ASCII)를 문자로 변환하기 위해서는 CHR 함수를 사용한다. 반대로 문자를 아스키코드로 변환하기 위해서는 ASCII 함수를 사용하면 된다. CHR 함수는 10진수의 아스키코드를 문자로 변환하며, 주로 특수문자를 문자열에 추가할 때 사용한다. 따옴표 아스키코드 39, 큰따옴표 아스키코드 34, TAB 아스키코드 9 등 사용할 수 있다.

 

목차

 

CHR 함수 사용법 (아스키코드 → 문자)

SELECT CHR(65) --대문자 A
     , CHR(97) --소문자 a         
     , CHR(39) --따옴표 '
     , CHR(34) --쌍따옴표 "
     , CHR(9)  --TAB 문자
     , CHR(13) || CHR(10) --엔터키 문자 CR+LF
  FROM dual

 

 

CHR(아스키코드)으로 아스키코드를 문자로 변환할 수 있다.

 

SELECT 'Oracle' || CHR(39) || 'SQL' || CHR(39) AS quotes
     , 'Oracle' || CHR(34) || 'SQL' || CHR(34) AS double_quotes
     , 'Oracle' || CHR(9)  || 'SQL'            AS tab
     , 'Oracle' || CHR(13) || CHR(10) || 'SQL' AS enter
  FROM dual

 

 

문자열에 CHR 함수를 사용하여 특수문자를 추가하는 예제이다.

 

따옴표, 쌍따옴표 사용 팁

SELECT 'Oracle''SQL''' AS quotes
     , 'Oracle"SQL"'   AS double_quotes
  FROM dual

 

 

따옴표와 쌍따옴표는 CHR 함수를 사용하지 않아도 문자열에 포함할 수 있다. 따옴표는 문자열 내부에서 따옴표를 두 번('') 사용하면 되며, 따옴표는 문자열에서 일반 문자와 동일하게 사용하면 된다.

 

ASCII 함수 사용법 (문자 → 아스키코드)

SELECT ASCII('A')  AS "대문자A"
     , ASCII('a')  AS "소문자a"
     , ASCII('''') AS "따옴표"
     , ASCII('"')  AS "쌍따옴표"
  FROM dual

 

 

ASCII(문자)를 사용하여 문자를 아스키코드로 변환할 수 있다.

 

아스키코드표 (ASCII Table)

10진수 문자 10진수 문자
0 NUL, NULL(Ctrl + @) 64 @
1 SOH, Start of Header(Ctrl + A) 65 A
2 STX, Start of Text(Ctrl + B) 66 B
3 ETX, End of Text(Ctrl + C) 67 C
4 EOT, End of Transmission(Ctrl + D) 68 D
5 ENQ, Enquiry(Ctrl + E) 69 E
6 ACK, Acknowledgment(Ctrl + F) 70 F
7 BEL, Bell(Ctrl + G) 71 G
8 BS, Backspace(Ctrl + H) 72 H
9 HT, Horizontal Tab(Ctrl + I) 73 I
10 LF, Line feed(Ctrl + J) 74 J
11 VT, Vertical Tab(Ctrl + K) 75 K
12 FF, Form feed(Ctrl + L) 76 L
13 CR, Carriage return(Ctrl + M) 77 M
14 SO, Shift Out(Ctrl + N) 78 N
15 SI, Shift In(Ctrl + O) 79 O
16 DLE, Data Link Escape(Ctrl + P) 80 P
17 DC1, Device Control 1(Ctrl + Q) 81 Q
18 DC2, Device Control 2(Ctrl + R) 82 R
19 DC3, Device Control 3(Ctrl + S) 83 S
20 DC4, Device Control 4(Ctrl + T) 84 T
21 NAK, Negative Ack.(Ctrl + U) 85 U
22 SYN, Synchronous idle(Ctrl + V) 86 V
23 ETB, End of Trnas, Block(Ctrl + W) 87 W
24 CAN, Cancel(Ctrl + X) 88 X
25 EM, End of Medium(Ctrl + Y) 89 Y
26 SUB, Substitute(Ctrl + Z) 90 Z
27 ESC, Escape(Ctrl + [) 91 [
28 FS, File Separator(Ctrl + \) 92 \
29 GS, Group Separator(Ctrl + ]) 93 ]
30 RS, Record Separator(Ctrl + ^) 94 ^
31 US, Unit Separator(Ctrl + _) 95 _
32 SP, Space 96 '
33 97 a
34 98 b
35 # 99 c
36 100 d
37 101 e
38 102 f
39 103 g
40 ( 104 h
41 105 i
42 106 j
43 + 107 k
44 , 108 l
45 109 m
46 110 n
47  / 111 o
48  0 112 p
49  1 113 q
50  2 114 r
51  3 115 s
52  4 116 t
53  5 117 u
54  6 118 v
55  7 119 w
56  8 120 x
57  9 121 y
58 122 z
59 123 {
60 124 |
61 125 }
62 126 ~
63 127 DEL, Del
 

[Oracle] 문자열에 따옴표를 포함하는 2가지 방법

오라클에서 문자열 문자열을 나타낼 때 작은따옴표(홑 따옴표, 싱글 쿼터)를 사용하기 때문에 문자열 내부에 작은따옴표를 넣기 위해서는 추가적인 작업이 필요하다. 일반적인 프로그래밍 언어

gent.tistory.com

 

[Oracle] 오라클 엔터값 넣기 및 제거 방법

오라클 쿼리문에서 엔터 값(줄 바꿈)을 넣기 위해서는 CHR(13) || CHR(10)을 문자열 사이에 붙여주면 된다. 엔터 값을 제거하기 위해서는 REPLACE 함수를 사용하여 CHR(13)와 CHR(10)을 각각 공백으로 치환

gent.tistory.com

 

댓글

Designed by JB FACTORY