Snowflake SQL-datatypen

Introductie tot Snowflake SQL

George Boorman

Senior Curriculum Manager, DataCamp

Veelvoorkomende datatypen

Categorie Datatypen
Tekst/string VARCHAR, CHAR, TEXT
Introductie tot Snowflake SQL

Veelvoorkomende datatypen

Categorie Datatypen
Tekst/string VARCHAR, CHAR, TEXT
Numeriek INTEGER
Introductie tot Snowflake SQL

Veelvoorkomende datatypen

Categorie Datatypen
Tekst/string VARCHAR, CHAR, TEXT
Numeriek INTEGER
Boolean BOOLEAN
Introductie tot Snowflake SQL

Veelvoorkomende datatypen

Categorie Datatypen
Tekst/string VARCHAR, CHAR, TEXT
Numeriek INTEGER
Boolean BOOLEAN
Datum/tijd DATE, TIME, TIMESTAMP
1 https://docs.snowflake.com/en/sql-reference/intro-summary-data-types
Introductie tot Snowflake SQL

Snowflake SQL-datatypen - NUMBER

NUMBER(p, s)

 

  • NUMERIC is in Snowflake een alias voor NUMBER
  • p = precisie; s = schaal
  • Max p en s: 38
    • Overschrijden leidt tot afronden!
Introductie tot Snowflake SQL

Snowflake SQL-datatypen - TIMESTAMP_LTZ

  • TIMESTAMP_LTZ
    • Combineert DATE en TIME met lokale tijdzone
    • Formaat: YYYY-MM-DD HH:MI:SS

 

CREATE TABLE orders (
  -- Timestamp met lokale tijdzone
  order_timestamp TIMESTAMP_LTZ
  )

Timestamp met lokale tijdzone-gegevens

Introductie tot Snowflake SQL

Conversie van datatype - Wat?

  • Data omzetten van het ene type naar het andere

Kolom orderhoeveelheid: tekst naar getal

Introductie tot Snowflake SQL

Conversie van datatype - Waarom?

  • Betere performance
  • Nauwkeurigheid en consistentie
  • Datakwaliteit
Introductie tot Snowflake SQL

Conversie van datatype - Hoe?

  1. CAST

    Syntax:

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

    • CAST('80' AS INT)

  2. ::

    Syntax:

    • <source_data/column>::<target_data_type>

    • '80'::INT

Introductie tot Snowflake SQL

CAST

SELECT CAST(order_timestamp AS DATE) 
       AS order_date 
FROM orders
Introductie tot Snowflake SQL

CAST-resultaten

Voor casten van order_timestamp_ltz

Na casten: orderdatum-gegevens

Introductie tot Snowflake SQL

Conversiefuncties

  • Voorbeelden: TO_VARCHAR, TO_DATE, etc.

TO_VARCHAR

  • TO_VARCHAR( <expr> )

    • expr - numeriek, timestamp, etc.

    • Resultaat: VARCHAR

Voorbeeld:

SELECT TO_VARCHAR(86)

Resultaat:

86

Introductie tot Snowflake SQL

Datatypen controleren

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
Introductie tot Snowflake SQL

Laten we oefenen!

Introductie tot Snowflake SQL

Preparing Video For Download...