Bird
Raised Fist0
Snowflakecloud~5 mins

Data types in Snowflake - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is the purpose of data types in Snowflake?
Data types define the kind of data that can be stored in a column, such as numbers, text, or dates. They help Snowflake understand how to store, process, and retrieve data efficiently.
Click to reveal answer
beginner
Name three common numeric data types in Snowflake.
1. NUMBER (for integers and decimals)
2. FLOAT (for floating-point numbers)
3. INTEGER (alias for NUMBER without decimals)
Click to reveal answer
beginner
What data type would you use to store text in Snowflake?
You use VARCHAR or STRING data types to store text. They can hold variable-length character data.
Click to reveal answer
intermediate
How does Snowflake handle date and time data types?
Snowflake provides DATE for dates, TIME for time of day, TIMESTAMP for date and time combined, and TIMESTAMP_TZ for timestamps with time zone information.
Click to reveal answer
intermediate
What is the difference between VARIANT and OBJECT data types in Snowflake?
VARIANT can store semi-structured data like JSON, XML, or Avro in a flexible way. OBJECT is a subtype of VARIANT that specifically stores key-value pairs like a JSON object.
Click to reveal answer
Which Snowflake data type is best for storing whole numbers without decimals?
AVARCHAR
BTIMESTAMP
CNUMBER
DBOOLEAN
Which data type should you use to store a user's full name?
AVARCHAR
BFLOAT
CDATE
DOBJECT
What data type stores date and time with timezone in Snowflake?
ATIME
BTIMESTAMP_TZ
CDATE
DVARIANT
Which data type is designed for semi-structured data like JSON?
AVARIANT
BBOOLEAN
COBJECT
DNUMBER
If you want to store true or false values, which data type do you choose?
ATIMESTAMP
BVARCHAR
CNUMBER
DBOOLEAN
Explain the main categories of data types available in Snowflake and give an example of each.
Think about numbers, words, dates, flexible data, and true/false.
You got /5 concepts.
    Describe when you would use the VARIANT data type instead of VARCHAR or NUMBER in Snowflake.
    Consider data that is not just simple text or numbers.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which Snowflake data type is best suited to store true or false values?
      easy
      A. BOOLEAN
      B. VARCHAR
      C. NUMBER
      D. DATE

      Solution

      1. Step 1: Understand the purpose of BOOLEAN data type

        BOOLEAN is designed to store logical values: true or false.
      2. Step 2: Compare with other data types

        VARCHAR stores text, NUMBER stores numbers, and DATE stores dates, none are for true/false.
      3. Final Answer:

        BOOLEAN -> Option A
      4. Quick Check:

        True/False = BOOLEAN [OK]
      Hint: True/false values always use BOOLEAN type [OK]
      Common Mistakes:
      • Choosing VARCHAR for true/false values
      • Using NUMBER to represent logical states
      • Confusing DATE with BOOLEAN
      2. Which of the following is the correct way to declare a VARCHAR column with a maximum length of 100 characters in Snowflake?
      easy
      A. VARCHAR{100}
      B. VARCHAR100
      C. VARCHAR[100]
      D. VARCHAR(100)

      Solution

      1. Step 1: Recall Snowflake syntax for VARCHAR

        Snowflake uses parentheses to specify length, e.g., VARCHAR(100).
      2. Step 2: Identify incorrect syntax

        Options with brackets or no parentheses are invalid in Snowflake.
      3. Final Answer:

        VARCHAR(100) -> Option D
      4. Quick Check:

        Length in parentheses = VARCHAR(100) [OK]
      Hint: Use parentheses for length in VARCHAR [OK]
      Common Mistakes:
      • Using brackets or braces instead of parentheses
      • Omitting parentheses for length
      • Writing VARCHAR100 as one word
      3. What will be the result of this Snowflake SQL query?
      SELECT CAST('2024-06-15' AS DATE) AS my_date;
      medium
      A. 2024-06-15
      B. '2024-06-15'
      C. Error: Invalid cast
      D. NULL

      Solution

      1. Step 1: Understand CAST to DATE

        CAST converts a string in 'YYYY-MM-DD' format to a DATE type in Snowflake.
      2. Step 2: Check the output format

        The DATE value is returned as 2024-06-15 without quotes.
      3. Final Answer:

        2024-06-15 -> Option A
      4. Quick Check:

        CAST string 'YYYY-MM-DD' to DATE = date value [OK]
      Hint: CAST string 'YYYY-MM-DD' to DATE returns date value [OK]
      Common Mistakes:
      • Expecting quotes around the date output
      • Thinking CAST causes error for valid date strings
      • Assuming NULL if format looks like a string
      4. You try to insert into a table with this column definition:
      price NUMBER(5,2)

      But Snowflake gives an error. What is the likely cause?
      medium
      A. The scale (2) cannot be greater than precision (5)
      B. NUMBER(5,2) is invalid syntax in Snowflake
      C. NUMBER(5,2) means 5 digits total, 2 after decimal, so max 999.99 allowed
      D. NUMBER cannot have scale and precision specified

      Solution

      1. Step 1: Understand NUMBER(precision, scale)

        Precision is total digits, scale is digits after decimal.
      2. Step 2: Calculate max value for NUMBER(5,2)

        Max number is 999.99 (3 digits before decimal, 2 after).
      3. Final Answer:

        NUMBER(5,2) means 5 digits total, 2 after decimal, so max 999.99 allowed -> Option C
      4. Quick Check:

        Precision=5, Scale=2 means max 999.99 [OK]
      Hint: Precision includes all digits; scale is decimal digits [OK]
      Common Mistakes:
      • Thinking NUMBER(5,2) syntax is invalid
      • Confusing precision and scale order
      • Assuming scale can be greater than precision
      5. You want to store a timestamp with timezone in Snowflake. Which data type should you use to keep both date, time, and timezone information?
      hard
      A. TIMESTAMP_NTZ
      B. TIMESTAMP_TZ
      C. DATE
      D. VARCHAR

      Solution

      1. Step 1: Review Snowflake timestamp types

        TIMESTAMP_NTZ stores timestamp without timezone; TIMESTAMP_TZ stores with timezone.
      2. Step 2: Identify correct type for timezone info

        Only TIMESTAMP_TZ keeps timezone data along with date and time.
      3. Final Answer:

        TIMESTAMP_TZ -> Option B
      4. Quick Check:

        Timestamp with timezone = TIMESTAMP_TZ [OK]
      Hint: Use TIMESTAMP_TZ for timezone-aware timestamps [OK]
      Common Mistakes:
      • Choosing TIMESTAMP_NTZ which ignores timezone
      • Using DATE which lacks time info
      • Storing timestamps as VARCHAR