Oacle 의 문자열 처리 특수 문자

1. escape 로 전의 문 자 를 정의 합 니 다.
    sql 에서 우 리 는 '%', '' 를 사용 할 수 있다.등 마스크 를 모호 하 게 조회 합 니 다. 예 를 들 어 아래 에 있 는 모든 ename 가 A 로 시작 하 는 모든 인원 을 조회 할 수 있 습 니 다.
09:59:47 SCOTT@vbox88in*SQL>select * from emp1 where ename like 'A%';

     EMPNO ENAME      JOB              MGR HIREDATE                   SAL       COMM     DEPTNO
---------- ---------- --------- ---------- ------------------- ---------- ---------- ----------
      7499 ALLEN      SALESMAN        7698 1981-02-20 00:00:00       1600        300         30
      7876 ADAMS      CLERK           7788 1987-05-23 00:00:00       1100                    20

일치 하 는 문자열 에 '%', '' 가 포함 되 어 있 습 니 다.연결 부 호 를 기다 리 고 있 습 니 다. 예 를 들 어 아래 t2 표 가 있 습 니 다.
NAME
------------------------------------------------------------
hyman
h_man
_man
h%man

"h%" 로 시작 하 는 데 이 터 를 찾 으 려 면 sql 문 구 를 어떻게 작성 해 야 합 니까?일반적인 사고방식 에 따라:
10:13:24 SCOTT@vbox88in*SQL>select * from t2 where name like 'h%%';

NAME
------------------------------------------------------------
hyman
h_man
h%man

    이것 은 분명히 우리 가 예상 한 결과 가 아니다. 이 조회 기능 을 실현 하려 면 우 리 는 escape 키 워드 를 빌려 임의의 문 자 를 전의 문자 로 정의 할 수 있다. 예 를 들 어:
10:18:25 SCOTT@vbox88in*SQL>select * from t2 where name like 'h!%%' escape  '!';

NAME
------------------------------------------------------------
h%man

"8195, 8195, escape 는 문 자 를"! "하나의 전의 문자 로 정의 되 었 으 며, 뒤에 연 결 된% 는 어댑터 가 아 닌 일반 문자 로 정의 되 었 습 니 다.
2. 작은 따옴표 의 전의
예 를 들 어 우 리 는 'hyman' s home '이라는 문자열 을 출력 하려 고 합 니 다. 문자열 에 작은 따옴표 가 포함 되 어 있 기 때문에 우 리 는 작은 따옴표 로 직접 연결 할 수 없습니다.
10:47:38 SCOTT@vbox88in*SQL>select 'hyman'||''s home' from dual;
ERROR:
ORA-01756:              

* 8195: 8195 이때 우 리 는 두 개의 작은 따옴표 로 작은 따옴표 하 나 를 출력 해 야 합 니 다.
10:48:09 SCOTT@vbox88in*SQL>select 'hyman'||'''s home' from dual;

'HYMAN'||'''
------------
hyman's home

3. 특수 기호 q 사용
* 8195 ° 기호 q 는 일반 문자열 을 정의 할 수 있 습 니 다. 문자열 에 특수 기호 가 있 든 없 든 일반 문자 로 처 리 됩 니 다. 그 형식 은 다음 과 같 습 니 다.
q'   xxxxx   '

* 8195: 8195: 그 중에서 구분자 가 임 의 문자 일 수 있 지만 반드시 쌍 을 이 루어 나타 나 야 합 니 다. 예 를 들 어 사용 하 는 것 입 니 다!xxx!、#xxxx \ #, 하지만 {, [,
10:58:48 SCOTT@vbox88in*SQL>select q'{hyman,s home}' from dual;

Q'{HYMAN,SHO
------------
hyman,s home

좋은 웹페이지 즐겨찾기