시다바리
[Oracle] Ampersand나 특수 문자를 갖는 데이타를 insert하는 방법 본문
▒ 첫번째 방법
SQL*Plus에서 SET DEFINE OFF나 SET SCAN OFF를 실행하여
Substitution Variable(&)을 Turn Off시킨다.
SQL> SET DEFINE OFF
SQL> INSERT INTO test_str VALUES('Q&A');
1 개의 행이 만들어졌습니다.
SQL>SELECT * FROM test_str;
VAL
------
Q&A
▒ 두번째 방법
SET DEFINE ON 상태로 유지 시키면서 Substitution Variable을
다른 Non-Alphanumeric 문자나 Non-White Space 문자(*, % 등등)로 대체시킨다.
SQL> SET DEFINE %
SQL> INSERT INTO test_str VALUES('Q&A');
1 개의 행이 만들어졌습니다.
▒ 세번째 방법
SET ESCAPE ON 상태에서(DEFINE은 &로, SCAN은 ON 상태로 유지)
특수 문자 앞에 ESCAPE 문자인 BACKSLASH('\')를 붙인다.
SQL> SET ESCAPE ON
SQL> SHOW ESCAPE
ESCAPE "\" (hex 5c)
SQL> INSERT INTO test_str VALUES ('Q\&A');
1 개의 행이 만들어졌습니다
SQL*Plus에서 SET DEFINE OFF나 SET SCAN OFF를 실행하여
Substitution Variable(&)을 Turn Off시킨다.
SQL> SET DEFINE OFF
SQL> INSERT INTO test_str VALUES('Q&A');
1 개의 행이 만들어졌습니다.
SQL>SELECT * FROM test_str;
VAL
------
Q&A
▒ 두번째 방법
SET DEFINE ON 상태로 유지 시키면서 Substitution Variable을
다른 Non-Alphanumeric 문자나 Non-White Space 문자(*, % 등등)로 대체시킨다.
SQL> SET DEFINE %
SQL> INSERT INTO test_str VALUES('Q&A');
1 개의 행이 만들어졌습니다.
▒ 세번째 방법
SET ESCAPE ON 상태에서(DEFINE은 &로, SCAN은 ON 상태로 유지)
특수 문자 앞에 ESCAPE 문자인 BACKSLASH('\')를 붙인다.
SQL> SET ESCAPE ON
SQL> SHOW ESCAPE
ESCAPE "\" (hex 5c)
SQL> INSERT INTO test_str VALUES ('Q\&A');
1 개의 행이 만들어졌습니다
Comments