-
[SQL] data.world tutorial SQL CAST 예제 풀이데이터 분석/DB & SQL 2020. 5. 2. 18:57
CAST: 데이터타입 과 데이터타입 변환
어떤 값이 저장되어있고, 어떻게 데이터타입이 정의되었는지는 매우 중요하다. 이에 따라 연산을 할 것인지, substring 처리할 것인지 등이 달라지기 때문이다.
https://docs.data.world/documentation/sql/concepts/intermediate/CAST.html
CAST 1줄 정리
CAST is an expression that is used to change the data type of a value.
CAST 문은 값의 데이터타입을 변환할 때 사용한다.
CAST Syntax
CAST (string AS format)
Possible formats: INTEGER, DECIMAL, DOUBLE, BOOLEAN, DATETIME, DATE, TIME, GYEAR, GYEARMONTH, and DATETIMESTAMP.
그렇다고 모든 포맷이 상호 변환 가능한 것은 아니다.
주의. 상호 변환 가능한 값이 정해져 있다!
value as STRING: 현재 value 는 string 값으로 저장 되어있고, 값은 소수점 있는 숫자로 보인다.
value as INTEGER (FAIL): 사실 value as INTEGER 로 변환하고, 소수점은 1의 자리에서 반올림하고 싶지만 string 에서 integer 변환은 실패한다. 소수점 이하 값은 어쩌지 고민하다가 실패! 모든 값이 CAST 실패해서 null 처리되기 때문.
value as DECIMAL : 그래서 소수점 처럼 생긴 string 을 decimal 로 변환한다. 성공!
value as INTEGER (SUCCESS): 만약 소수점 같이 생긴 값들을 숫자로 1차 변환하고, 정수형으로 2차 변환해야한다.
만약 반올림이 아니라 내림, 절사처리하고 싶다면 ROUNDDOWN 으로 수식을 걸어주어야 한다.데이터타입 변환하다가 일부 데이터의 정확성이 소실되기도 하니 주의를 기울여야 한다! 결과 데이터셋 1 번째 행과 같이 19.74 와 20 은 같은 값이 아니니까!
'데이터 분석 > DB & SQL' 카테고리의 다른 글
[SQL] data.world tutorial SQL Inline Subquery 문 예제 풀이 (0) 2020.05.03 [SQL] data.world tutorial SQL WITH 문 예제 풀이 (0) 2020.05.03 [SQL] data.world tutorial SQL CASE 예제 풀이 (0) 2020.05.02 [SQL] data.world tutorial SQL UNION 예제 풀이 (0) 2020.05.01 [SQL] data.world tutorial SQL GROUP BY FILTER, HAVING 예제 풀이 (0) 2020.05.01