[SQL] 암시적 형변환

·2025년 7월 3일
0

SQL

목록 보기
48/126

예제 답

실행됨

explain plan for
select ename, sal
 from emp
 where sal = '3000';
 
select * from table(dbms_xplan.display);

💡 숫자와 문자 비교 시, 숫자가 우선순위가 높아서
문자 -> 숫자로 변환


문제1. 아래의 SQL은 에러가 날지 실행이 될지 확인하시오

select  ename, sal
  from  emp
  where  sal like  '30%'; 

sal -> 숫자
30% -> 문자

%를 숫자로 바꿀 수 없기 때문에
sal문자로 변환

💡 암시적 형변환이 발생하게 되면 SQL의 성능이 느려지게 됨


문제2. 아래의 환경을 만들고 아래의 SQL을 실행하시오

 create   table   emp500
 (  ename      varchar2(20),
     sal       varchar2(20)  );

 insert   into   emp500   values( 'SCOTT', '3000') ;

 commit;

 select  * from  emp500;
 explain plan for
 select ename, sal
  from emp500
  where sal = 3000;
  
select * from table(dbms_xplan.display);

여기서 where sal = '3000' 이렇게 쓰면 안됨
3000숫자, '3000'문자

0개의 댓글