Oracle의 이스케이프 문자: 1. 문자열을 인용하거나 자체적으로 이스케이프하는 데 사용되는 작은따옴표 2. 잘못된 형식 문자를 묶는 데 사용되는 큰따옴표 3. "&"는 두 개의 이스케이프 자체를 연결하는 데 사용되는 기호입니다. . 이스케이프, 특수 기호가 아닌 문자를 이스케이프 문자로 지정하는 데 사용됩니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, Oracle 11g 버전, Dell G3 컴퓨터.
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 ('AT&T');
/
1행 생성됨
(방법 2)
dd Notoracle 이스케이프 문자는 다음과 같습니다.
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 ('select * from emp where ename =\&1');
1) 일반적으로 문자열 내의 큰따옴표는 일반 문자로만 처리됩니다.
이때 큰따옴표는 쌍으로 표시되지 않습니다.
SELECT 'myjsp?page=1&pagesize=10' FROM dual; SELECT 'myjsp?page=1&pagesize=10' FROM dual; SQL> create table a (b varchar2(10)); Table created SQL> insert into a values('_a');
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,'_a')>0; B ---------- _a select B from A where b like '%\_a%' escape '\'
select B from A where b like '%\_a%' escape '\'; select B from A where b like '%\_a%' escape '\';
Oracle 비디오 튜토리얼
"위 내용은 오라클의 이스케이프 문자는 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!