Snowflake SQL 데이터 타입

Snowflake SQL 입문

George Boorman

Senior Curriculum Manager, DataCamp

공통 데이터 타입

범주 데이터 타입
텍스트/문자열 VARCHAR, CHAR, TEXT
Snowflake SQL 입문

공통 데이터 타입

범주 데이터 타입
텍스트/문자열 VARCHAR, CHAR, TEXT
숫자형 INTEGER
Snowflake SQL 입문

공통 데이터 타입

범주 데이터 타입
텍스트/문자열 VARCHAR, CHAR, TEXT
숫자형 INTEGER
불리언 BOOLEAN
Snowflake SQL 입문

공통 데이터 타입

범주 데이터 타입
텍스트/문자열 VARCHAR, CHAR, TEXT
숫자형 INTEGER
불리언 BOOLEAN
날짜/시간 DATE, TIME, TIMESTAMP
1 https://docs.snowflake.com/en/sql-reference/intro-summary-data-types
Snowflake SQL 입문

Snowflake SQL 데이터 타입 - NUMBER

NUMBER(p, s)

 

  • NUMERIC은 Snowflake에서 NUMBER의 별칭입니다
  • p = 정밀도; s = 스케일
  • p, s 최대값: 38
    • 초과 시 반올림됨!
Snowflake SQL 입문

Snowflake SQL 데이터 타입 - TIMESTAMP_LTZ

  • TIMESTAMP_LTZ
    • DATETIME을 로컬 시간대와 함께 결합
    • 형식: YYYY-MM-DD HH:MI:SS

 

CREATE TABLE orders (
  -- 로컬 시간대 타임스탬프
  order_timestamp TIMESTAMP_LTZ
  )

로컬 시간대 타임스탬프 데이터

Snowflake SQL 입문

데이터 타입 변환 - 무엇을?

  • 한 타입에서 다른 타입으로 변환

주문 수량 열 데이터를 텍스트에서 숫자로

Snowflake SQL 입문

데이터 타입 변환 - 왜?

  • 성능 개선
  • 정확성 및 일관성
  • 데이터 품질
Snowflake SQL 입문

데이터 타입 변환 - 어떻게?

  1. CAST

    구문:

    • CAST( <source_data/column> AS <target_data_type> )

    • CAST('80' AS INT)

  2. ::

    구문:

    • <source_data/column>::<target_data_type>

    • '80'::INT

Snowflake SQL 입문

CAST

SELECT CAST(order_timestamp AS DATE) 
       AS order_date 
FROM orders
Snowflake SQL 입문

CAST 결과

캐스팅 전 order_timestamp_ltz

캐스팅 후 주문 날짜 데이터

Snowflake SQL 입문

변환 함수

  • 예: TO_VARCHAR, TO_DATE

TO_VARCHAR

  • TO_VARCHAR( <expr> )

    • expr - 숫자, 타임스탬프 등

    • 결과: VARCHAR

예시:

SELECT TO_VARCHAR(86)

결과:

86

Snowflake SQL 입문

데이터 타입 확인

DESC TABLE orders
name        type            kind     null?    default     primary key    
ORDER_ID    NUMBER(38,0)    COLUMN   N        null        Y    
ORDER_DATE  DATE            COLUMN   Y        null        N    
ORDER_TIME  TIME(9)         COLUMN   Y        null        N
Snowflake SQL 입문

¡Vamos a practicar!

Snowflake SQL 입문

Preparing Video For Download...