ชนิดข้อมูล SQL ใน Snowflake

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 เบื้องต้น

ชนิดข้อมูล SQL ใน Snowflake - NUMBER

NUMBER(p, s)

 

  • NUMERIC ใช้เป็น alias ของ NUMBER ใน Snowflake ได้
  • p = ความแม่นยำ (precision); s = สเกล (scale)
  • ค่าสูงสุดของ p และ s คือ 38
    • หากเกินกำหนดจะเกิดการปัดเศษ!
Snowflake SQL เบื้องต้น

ชนิดข้อมูล SQL ใน Snowflake - TIMESTAMP_LTZ

  • TIMESTAMP_LTZ
    • รวม DATE และ TIME พร้อม time zone ของเครื่อง
    • รูปแบบ: YYYY-MM-DD HH:MI:SS

 

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

ข้อมูลชนิด Timestamp local time zone

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 - ตัวเลข, timestamp เป็นต้น

    • ผลลัพธ์: 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 เบื้องต้น

มาฝึกกันเถอะ!

Snowflake SQL เบื้องต้น

Preparing Video For Download...