반응형
- 초보자를 위한 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 |