2009. 3. 13. 01:57 Program.../Oracle
Oracle LIKE 연산자
-- Like 연산자
select ename, job, sal
from EMP
where ename like 'SMITH'; -- Like : ~문자형태와 일치한다.
select ename, job, sal
from EMP
where ename like 'S%'; -- 대문자 S로 시작하는 ename을 출력한다.
select ename, job, sal
from EMP
where ename like '%S'; -- 대문자 S로 끝나는 ename을 출력한다.
select ename, job, sal
from EMP
where ename like '%S%'; -- 대문자 S가 포함되는 ename을 출력한다.
select ename, job, sal
from EMP
where ename like '%AM%'; -- 붙어있는 대문자 AM이 포함되는 ename을 출력한다.
select ename, job, sal
from EMP
where ename like '%A%M%'; -- 붙어있건 떨어져있건 대문자 A,M이 포함되는 ename을 출력한다.
select ename, job, sal
from EMP
where ename like '_A%'; -- _는 하나의 문자와 대치된다. 그러므로 두번째 글자가 A인 ename을 출력하게된다.
select ename, job, sal
from EMP -- 위와 마찬가지로 풀어봤을때
where ename like '__R%'; -- __R%은 세번째 글자가 R인 ename을 출력하게된다.
select ename, job, sal
from EMP -- 위와 마찬가지로 풀어봤을때
where ename like 'M_R%'; -- M_R%은 첫번째 글자가 M이고 세번째 글자가 R인 ename을 출력하게된다.
------ 참조사항(예제문제), 테이블생성
create table sawon -- sawon 이라는 테이블을 생성한다.
(sano number(4) -- sano라는 숫자값 column을 만든다.
,name varchar2(10) -- name라는 문자값 column을 만든다.
,minbun varchar(13) -- minbun라는 문자값 column을 만든다.
,hiredate date -- hiredate라는 날짜 column을 만든다.
,constraint sawon_sano_pk primary key(sano) -- P.K를 sano로 지정한다.
) tablespace users;
insert into sawon
values(1001, '홍길동', '7810031234567', '1990-01-01'); -- 값을 입력
insert into sawon
values(1002, '엄정화', '7403012234567', '1999-01-01');
insert into sawon
values(1003, '남자애', '0012253234567', '2002-05-05');
insert into sawon
values(1004, '여자애', '0110104234567', '2003-05-05');
select * from sawon;
commit;
------ 사원테이블에서 여자만 추출하시오.
select *
from sawon
where minbun like '______2%' or
minbun like '______4%';
------ 참조사항(예제문제2), 테이블생성
create table jepum
(jname varchar2(10)
,bigo varchar2(100)
) tablespace users;
insert into jepum
values('금시계', '고객만족도 99.99% 획득제품');
insert into jepum
values('은시계', '정밀도 점수 99.99% 획득제품');
commit;
select * from jepum;
------ 제품테이블에서 99.99% 라는 글자가 있는 것만 추출하시오
select *
from jepum
where bigo like '%99.99%%'; -- 원하는 답이 출력되지 않고 모두 나오게된다.
------ like와 함께 사용되어진 %나 _를 wild 문자라 한다.
select *
from jepum
where bigo like '%99.99\%%' -- escape 로쓰이는 문자는 잘안쓰이는 특수문자를 많이 사용한다.
escape '\'; -- escape 'x' 쓰게되면 x뒤에 오는 %는 wild 문자기능을 상실하고 단순한 문자로 인식된다.
'Program... > Oracle' 카테고리의 다른 글
연산자 우선순위 규칙 (0) | 2009.03.13 |
---|---|
Oracle IS NULL 연산자 (0) | 2009.03.13 |
Oracle IN 연산자 (0) | 2009.03.13 |
Oracle Between 연산자 (0) | 2009.03.13 |
Oracle 날짜 표시 (0) | 2009.03.13 |