본문 바로가기

SQL/SQL 예제

[SQL] 암시적 형 변환

반응형

초보자를 위한 SQL 200제의 문제를 바탕으로 작성되었습니다.


 

암시적 형 변환: 문자형 데이터를 숫자형 데이터로 암시적으로 형 변환하는 것을 의미. 

 

 

 

암시적 형 변환을 이해하기 위해 sal(월급) 변수를 일부러 문자형으로 만들어 보겠습니다.

#테이블 생성 
CREATE TABLE ex(
    ename VARCHAR2(10),
    sal VARCHAR2(10));
    
#데이터 입력    
INSERT INTO ex VALUES('SCOTT', '3000');
INSERT INTO ex VALUES('SMITH', '1200');
 
#데이터 조회 
SELECT * FROM ex;

 

 

월급이 3000인 사람을 조회하고 싶을 경우 sal = '3000'인 문자형 = 문자형의 쿼리를 작성해야 합니다.

SELECT ename, sal
    FROM ex
    WHERE sal = '3000';

 

 그러면 여기서 sal = 3000 (문자형 = 숫자형)으로 작성한 쿼리는 작동하지 않는지 확인해볼까요?

SELECT ename, sal
    FROM ex
    WHERE sal = 3000;

마찬가지로 검색이 됩니다. 

 

 

 

두 쿼리가 동일하게 작동하는 이유는 오라클 내부적으로 숫자형 = 숫자형으로 비교해서 데이터를 검색했기 때문입니다.

오라클은 사용자가 작성한 쿼리와는 달리 다음과 같은 쿼리를 실행하게 됩니다.

SELECT ename, sal
	FROM ex
    WHERE TO_NUMBER(sal) = 3000;

 

 

 

반응형

'SQL > SQL 예제' 카테고리의 다른 글

[SQL] Part2 DECODE, CASE (IF문 )  (0) 2022.08.09
[SQL] Part2 NVL, NVL2 (NULL 값 처리)  (0) 2022.08.09
[SQL] Part2 날짜형 데이터  (0) 2022.08.08
[SQL] Part2 문자열  (0) 2022.08.07
[SQL] 비교연산자  (0) 2022.08.07