>데이터 베이스 >Oracle >오라클의 이스케이프 문자는 무엇입니까

오라클의 이스케이프 문자는 무엇입니까

WBOY
WBOY원래의
2022-01-25 14:12:487669검색

Oracle의 이스케이프 문자: 1. 문자열을 인용하거나 자체적으로 이스케이프하는 데 사용되는 작은따옴표 2. 잘못된 형식 문자를 묶는 데 사용되는 큰따옴표 3. "&"는 두 개의 이스케이프 자체를 연결하는 데 사용되는 기호입니다. . 이스케이프, 특수 기호가 아닌 문자를 이스케이프 문자로 지정하는 데 사용됩니다.

오라클의 이스케이프 문자는 무엇입니까

이 튜토리얼의 운영 환경: Windows 10 시스템, Oracle 11g 버전, Dell G3 컴퓨터.

oracle의 이스케이프 문자는 무엇입니까

1. Oracle 특수 문자 escape

키워드: oracle escape sql에서 실행:

update userinfo set pageurl='myjsp?page=1&pagesize=10' where id='test'

이 sql 문은 데이터베이스의 페이지 URL로 이동합니다. URL 주소가 필드에 입력되지만 이스케이프해야 하는 Oracle의 특수 문자인 '&'가 있기 때문에 실행이 그다지 이상적이지 않습니다.

위 예에서 특수 문자를 어떻게 처리합니까?

두 가지 방법:

1) userinfo setpageurl='myjsp?page=1'||'&'||'pagesize=10' 업데이트(id='test'

) 2) userinfo setpageurl='myjsp? 페이지 업데이트 =1'||chr(38)||'pagesize=10' 여기서 id='test'

여기서 ||는 하이픈이고 chr(38)은 ASCII 문자 트랜스코딩과 일치합니다.

plsql에서는 정의 끄기를 설정하여 특수 문자를 끌 수도 있고, show 정의를 사용하여 특별히 정의된 일부 문자를 볼 수도 있습니다.

2. oracle에서 특수 문자를 탈출하는 방법

Q: underscore_

select * from ng_values where name like 'lady_%'

jieguo를 탈출하는 방법 결과는 lady_test, lady_test, lady1

올바른 결과는 lady_test, lady_test

lad1 제외

입니다. 이스케이프 방법을 제공합니다. 3ks

답변:

select ... from ... where ... like '/_%' escape '/';

3,

insert into t(col) values(chr(ascii('&'))) ;

(방법 1)

예: 특수 문자 삽입 '&'

SQL> SHOW DEFINE
define "&" (hex 26) ? <--- DEFINE的default值是 ‘&’
SQL> SET DEFINE OFF
SQL> SHOW DEFINE
define OFF
SQL> INSERT INTO <table_name> VALUES (&#39;AT&T&#39;);

/

1행 생성됨

(방법 2)

dd Not

oracle 이스케이프 문자는 다음과 같습니다.

1, 작은따옴표

작은따옴표에는 ORACLE에서 두 가지 기능이 있습니다. 1) 인용 문자, 2) 이스케이프 문자.

문자열을 인용할 때 작은따옴표는 쌍으로 나타나며 이스케이프 자체는 짝수여야 하므로 SQL 문에서는 작은따옴표가 쌍으로 이루어져야 합니다.

SQL> SHOW ESCAPE
escape OFF <--- ESCAPE的default值是 OFF
SQL> SET ESCAPE ON
SQL> SHOW ESCAPE
escape "\" (hex 5c)
SQL> INSERT INTO temp_table VALUES (&#39;select * from emp where ename =\&1&#39;);

복잡한 이스케이프 문자열은 다음과 같이 나눌 수 있습니다. 이해하기 쉽도록 연결 기호 '||'가 문자열의 일부가 아니면 관계가 없습니다(동적 SQL에서 매우 일반적임).

1) 일반적으로 문자열 내의 큰따옴표는 일반 문자로만 처리됩니다.

이때 큰따옴표는 쌍으로 표시되지 않습니다.

SELECT &#39;myjsp?page=1&pagesize=10&#39; FROM dual;
SELECT &#39;myjsp?page=1&pagesize=10&#39; FROM dual;
SQL>   create   table   a  (b   varchar2(10));  
Table   created  
SQL>   insert   into   a  values(&#39;_a&#39;);

2) to_char 형식 문자열에 나타날 때는 큰따옴표를 사용합니다. ORA-01821: 날짜 형식이 인식되지 않음 오류 를 방지하기 위해 잘못된 형식 문자를 래핑하는 특수 기능이 있습니다. 즉, 큰따옴표와 그 안에 포함된 문자를 제거한 후에 남은 것은 올바른 형식 문자열이어야 합니다.

to_char는 형식 문자열을 처리할 때 큰따옴표를 무시합니다. Select To_Char(Sysdate, 'hh24" Hours"mi" Minutes"ss"seconds"') As "Current Time/Hours, Minutes and Seconds" From Dual;

출력:09시 05분 08초 - 이 애플리케이션은 별칭으로도 사용 가능합니다

형식 문자열은 'hh24"hour" mi" Minutes"ss"seconds"';

큰따옴표를 제거한 후, 남은 것은 유효한 형식 문자열인 'hh24miss'입니다.

하지만 큰따옴표의 사용법을 모르더라도 처리가 조금 더 까다롭기는 하지만 다음과 같이 사용할 수 있습니다. To_Char(Sysdate, 'hh24') || '시간' || To_Char(Sysdate, 'mi') || 'Min' || To_Char(Sysdate, 'ss') || '초' 출력: 09시간 05분 8초

3, &(및 기호)

는 사용자 정의 변수를 식별/설정하는 데 사용되며 그 뒤에 변수 이름을 문자로 사용해야 하는 경우 Chr(38)을 사용하거나 두 개의 &&(자체 이스케이프)

SQL>   select   B   from  A   where   instr(b,&#39;_a&#39;)>0;  
B  
----------  
_a  
select   B   from   A  where   b   like   &#39;%\_a%&#39;  escape   &#39;\&#39;

4, Escape(이스케이프 문자 지정)

특수가 아닌 기호를 이스케이프 문자로 지정해야 하며 주로 와일드카드 이스케이프에 사용됩니다

select   B   from   A  where   b   like   &#39;%\_a%&#39;  escape   &#39;\&#39;;
select   B   from   A  where   b   like   &#39;%\_a%&#39;  escape   &#39;\&#39;;

추천 튜토리얼 : "

Oracle 비디오 튜토리얼

"

위 내용은 오라클의 이스케이프 문자는 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.