문제. 숫자로만 이루어진 행을 찾으세요.
drop table t1 purge;
create table t1 (col1 varchar2(30));
insert into t1 values ('23FA2');
insert into t1 values ('564766');
insert into t1 values ('40953');
insert into t1 values ('P3312');
insert into t1 values ('48756');
insert into t1 values ('8876M');
insert into t1 values ('...');
commit;
grant select on t1 to public;
select * from t1;
해답 1.
select upper(col1), lower(col1) from t1;
select upper(col1), lower(col1) from t1 where upper(col1) = lower(col1);
해답 2.
select col1, ltrim(col1, 0123456789) from t1;
select col1, ltrim(col1, 1234567890) from t1;
select col1, ltrim(col1, '0123456789') from t1;
select col1, ltrim(col1, '0123456789') from t1 where ltrim(col1, '0123456789') is null;
문제. 연속된 숫자 5개가 포함된 행 찾기
drop table t2 purge;
create table t2 (col1 varchar2(40));
insert into t2 values('이것은 12321이다');
insert into t2 values('중요한 것은 12가 123보다 크지 않다는 것이다');
insert into t2 values('3 곱하기 2는 6이다. 6 나누기 2는 3이다.');
insert into t2 values('전체의 합은 76871이다');
...
commit;
grant select on t2 to public;
select * from t2;
해답.
select col1, translate(col1, '0123456789', '----------') from t2;
select col1 from t2 where translate(col1, '0123456789', '----------') like '%-----%';
cf.http://docs.oracle.com/cd/B10501_01/server.920/a96540/functions150a.htm#79574
'개발 및 관리 > Oracle 9i, 10g, 11g, 12c, 19c' 카테고리의 다른 글
Oracle Database 10g SQL Fundamentals I - Practice 7 (0) | 2012.11.13 |
---|---|
Oracle Database 10g SQL Fundamentals I - Practice 6 (0) | 2012.11.12 |
Oracle Database 10g SQL Fundamentals I - Practice 5 (0) | 2012.11.08 |
오라클 함수, SQL Functions (0) | 2012.11.08 |
Access Predicate와 Filter Predicate - 오라클 성능 고도화 원리와 해법2 p.168~p.170 (0) | 2012.11.08 |