상세 컨텐츠

본문 제목

#9. DATA TYPE 오류 확인

내일배움캠프 학습/SQL

by 남민우_ 2024. 10. 23. 18:26

본문

SQL 코드를 작성하면서, 숫자 가공이나 문자 출력 시 자주 발생할 수 있는 오류에 관해서이다.

본인은 맞게 작성했다고 생각할 수 있지만 Data Type Error 라는 문구와 함께 에러가 발생하는 경우가 있다.

 

DATA TYPE 이란?

먼저 'Data Type'은 쉽게 설명해 '자료형' 을 의미한다.

처음 테이블을 만들면서 컬럼을 만들고 그 자료형을 작성한다.

CREATE TABLE (
id INT,
name VARCHAR(50),			
age INT
);

이와 같이 테이블을 만들 때 id의 경우 Data Type 이 int, name의 경우는 Varchar 인 것이다.

 

따라서 Data Type 에러는 이 데이터 타입에 맞지 않게 코드를 작성했을 경우 발생하는 에러이다.

 

이 Data Type을 출력 결과에서 쉽게 확인할 수도 있는데

이 사진에 보면 '수수료' 의 경우 왼쪽에 123, '식당 이름'의 경우 왼쪽에 'A-Z' 라고 써있는 것을 볼 수 있다.

이것이 자료형이 어떤 타입인지를 쉽게 나타내주는 것이다.

123의 경우 int, A-Z의 경우 VARCHAR임을 상징하며 그에 맞춰서 사용하도록 할 수 있다.

 

실제 데이터를 보다 보면 데이터가 숫자로 나타나있어도 타입이 A-Z로 구분되어 있는 경우도 있을 수 있다.

이는 VARCHAR 임을 나타내며 숫자로 혼동하고 코드를 작성할 경우, 에러의 원인이 된다.

 

다만 그렇다고 숫자는 숫자끼리, 문자는 문자끼리 코드를 나누어 작성하기에는 원하는 코드를 구성하기 어려울 수 있다.

이런 경우처럼 문자/숫자를 혼합하여 함수에 사용하는 경우, 데이터 타입을 변경해주어야 한다.

 

활용 예시

//숫자로 변경
cast(if(rating='Not given', '1', rating) as decimal) 

//문자로 변경
concat(restaurant_name, '-', cast(order_id as char))

 

'내일배움캠프 학습 > SQL' 카테고리의 다른 글

#10. 문제 풀이 - 배달 시간 판단  (0) 2024.10.25
#8. IF/CASE 실습  (0) 2024.10.23
#7. IF/CASE 문법  (4) 2024.10.23
#6. 문자 데이터 가공 실습  (3) 2024.10.18
#5. 문자 데이터 가공 - 형태 변화  (1) 2024.10.18

관련글 더보기