[Impala] Data Types
정수 자료형
Impala에서는 다음과 같이 네 종류의 정수 자료형을 제공하며 각각 차지하는 공간과 범위가 다르다. 오라클의 TO_CHAR()
, TO_NUMBER()
와 같이 숫자와 문자열을 바꿀수 없고 CAST(SOME_COLUMN_NAME as datatype_to_cast)
함수를 이용해 변형하고자 하는 타입을 지정해주어야하는데 테이블을 설계할 때 잘못하면 지원 범위를 넘어서는 숫자가 생겨 문제가 될 수 있으므로 주의를 해야할 것 같다. 번거롭긴 하지만 저장소를 효율적으로 사용할 수 있는 장점이 있는 것 같다.
- TINYINT
- 1 byte
- -128 ~ 127
- SMALLINT
- 2 bytes
- -32768 ~ 32767
- INT
- 4 bytes
- -2147483648 ~ 214748364
- BIGINT
- 8 bytes
- -9223372036854775808 ~ 9223372036854775807
SQL 함수로 해당 정수 자료형의 min max 를 호출해볼 수도 있는데 스크립트 언어 같은 느낌이 재미있다.
select 'TINYINT' as type, min_tinyint() as min, max_tinyint() as max
select 'SMALLINT', min_smallint() as min, max_smallint() as max
select 'INT' as type, min_int() as min, max_int() as max
select 'BIGINT' as type, min_bigint() as min, max_bigint() as max
추가적으로 사용하게 되는 자료형 별로 정리할 예정