Tipos de dados SQL do Snowflake

Introdução ao Snowflake SQL

George Boorman

Senior Curriculum Manager, DataCamp

Tipos de dados comuns

Categoria Tipos de dados
Texto/string VARCHAR, CHAR, TEXT
Introdução ao Snowflake SQL

Tipos de dados comuns

Categoria Tipos de dados
Texto/string VARCHAR, CHAR, TEXT
Numérico INTEGER
Introdução ao Snowflake SQL

Tipos de dados comuns

Categoria Tipos de dados
Texto/string VARCHAR, CHAR, TEXT
Numérico INTEGER
Booleano BOOLEAN
Introdução ao Snowflake SQL

Tipos de dados comuns

Categoria Tipos de dados
Texto/string VARCHAR, CHAR, TEXT
Numérico INTEGER
Booleano BOOLEAN
Data/hora DATE, TIME, TIMESTAMP
1 https://docs.snowflake.com/en/sql-reference/intro-summary-data-types
Introdução ao Snowflake SQL

Tipos de dados SQL do Snowflake - NUMBER

NUMBER(p, s)

 

  • NUMERIC funciona no Snowflake como alias de NUMBER
  • p = precisão; s = escala
  • Máx. de p e s: 38
    • Ultrapassar causa arredondamento!
Introdução ao Snowflake SQL

Tipos de dados SQL do Snowflake - TIMESTAMP_LTZ

  • TIMESTAMP_LTZ
    • Combina DATE e TIME com fuso horário local
    • Formato: YYYY-MM-DD HH:MI:SS

 

CREATE TABLE orders (
  -- Timestamp com fuso horário local
  order_timestamp TIMESTAMP_LTZ
  )

Dados de timestamp com fuso horário local

Introdução ao Snowflake SQL

Conversão de tipo de dado - O quê?

  • Converter dados de um tipo para outro

Coluna de quantidade do pedido: texto para número

Introdução ao Snowflake SQL

Conversão de tipo de dado - Por quê?

  • Melhorar desempenho
  • Precisão e consistência
  • Qualidade dos dados
Introdução ao Snowflake SQL

Conversão de tipo de dado - Como?

  1. CAST

    Sintaxe:

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

    • CAST('80' AS INT)

  2. ::

    Sintaxe:

    • <source_data/column>::<target_data_type>

    • '80'::INT

Introdução ao Snowflake SQL

CAST

SELECT CAST(order_timestamp AS DATE) 
       AS order_date 
FROM orders
Introdução ao Snowflake SQL

Resultados do CAST

Antes do cast em order_timestamp_ltz

Depois do cast para data do pedido

Introdução ao Snowflake SQL

Funções de conversão

  • Exemplos: TO_VARCHAR, TO_DATE, etc.

TO_VARCHAR

  • TO_VARCHAR( <expr> )

    • expr - numérico, timestamp, etc.

    • Resultado: VARCHAR

Exemplo:

SELECT TO_VARCHAR(86)

Resultado:

86

Introdução ao Snowflake SQL

Verificando tipos de dados

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
Introdução ao Snowflake SQL

Vamos praticar!

Introdução ao Snowflake SQL

Preparing Video For Download...