Kiểu dữ liệu Snowflake SQL

Nhập môn Snowflake SQL

George Boorman

Senior Curriculum Manager, DataCamp

Các kiểu dữ liệu phổ biến

Nhóm Kiểu dữ liệu
Văn bản/chuỗi VARCHAR, CHAR, TEXT
Nhập môn Snowflake SQL

Các kiểu dữ liệu phổ biến

Nhóm Kiểu dữ liệu
Văn bản/chuỗi VARCHAR, CHAR, TEXT
Số INTEGER
Nhập môn Snowflake SQL

Các kiểu dữ liệu phổ biến

Nhóm Kiểu dữ liệu
Văn bản/chuỗi VARCHAR, CHAR, TEXT
Số INTEGER
Boolean BOOLEAN
Nhập môn Snowflake SQL

Các kiểu dữ liệu phổ biến

Nhóm Kiểu dữ liệu
Văn bản/chuỗi VARCHAR, CHAR, TEXT
Số INTEGER
Boolean BOOLEAN
Ngày/giờ DATE, TIME, TIMESTAMP
1 https://docs.snowflake.com/en/sql-reference/intro-summary-data-types
Nhập môn Snowflake SQL

Kiểu dữ liệu Snowflake SQL - NUMBER

NUMBER(p, s)

 

  • NUMERIC là bí danh của NUMBER trong Snowflake
  • p = độ chính xác; s = thang đo
  • Giá trị ps tối đa: 38
    • Vượt quá sẽ bị làm tròn!
Nhập môn Snowflake SQL

Kiểu dữ liệu Snowflake SQL - TIMESTAMP_LTZ

  • TIMESTAMP_LTZ
    • Kết hợp DATETIME với múi giờ cục bộ
    • Định dạng: YYYY-MM-DD HH:MI:SS

 

CREATE TABLE orders (
  -- Timestamp with local time zone
  order_timestamp TIMESTAMP_LTZ
  )

Dữ liệu timestamp múi giờ cục bộ

Nhập môn Snowflake SQL

Chuyển đổi kiểu dữ liệu - Là gì?

  • Chuyển đổi dữ liệu từ kiểu này sang kiểu khác

Cột số lượng đơn hàng từ văn bản sang số

Nhập môn Snowflake SQL

Chuyển đổi kiểu dữ liệu - Tại sao?

  • Cải thiện hiệu năng
  • Độ chính xác và nhất quán dữ liệu
  • Chất lượng dữ liệu
Nhập môn Snowflake SQL

Chuyển đổi kiểu dữ liệu - Cách làm?

  1. CAST

    Cú pháp:

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

    • CAST('80' AS INT)

  2. ::

    Cú pháp:

    • <source_data/column>::<target_data_type>

    • '80'::INT

Nhập môn Snowflake SQL

CAST

SELECT CAST(order_timestamp AS DATE) 
       AS order_date 
FROM orders
Nhập môn Snowflake SQL

Kết quả CAST

Trước khi cast order_timestamp_ltz

Sau khi cast dữ liệu ngày đặt hàng

Nhập môn Snowflake SQL

Hàm chuyển đổi

  • Ví dụ: TO_VARCHAR, TO_DATE, v.v.

TO_VARCHAR

  • TO_VARCHAR( <expr> )

    • expr - số, timestamp, v.v.

    • Kết quả: VARCHAR

Ví dụ:

SELECT TO_VARCHAR(86)

Kết quả:

86

Nhập môn Snowflake SQL

Kiểm tra kiểu dữ liệu

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
Nhập môn Snowflake SQL

Ayo berlatih!

Nhập môn Snowflake SQL

Preparing Video For Download...