DEA-C02 Data Movement Practice Question
A data engineer is loading semi-structured JSON files from an external stage into a VARIANT column. Several files contain a field named 'event_time' formatted as an ISO-8601 string, but the ingestion team wants to automatically convert it to a TIMESTAMP_NTZ during the load without using a separate transformation step. Which COPY INTO feature should be used?
⚠ Common exam trap
The trap here is assuming that file format options like TIMESTAMP_FORMAT apply to semi-structured fields inside a VARIANT column, when they only affect loads into typed columns.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Use a transformation in the COPY INTO statement with the TO_TIMESTAMP function on the JSON field.
COPY INTO allows inline transformations in the SELECT list, which is the supported way to cast or convert semi-structured fields during load. Using TO_TIMESTAMP on the JSON field converts the ISO-8601 string to a TIMESTAMP_NTZ as it is ingested, avoiding a separate transformation step. File format options and masking policies do not change the type of a VARIANT field.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Define the column as TIMESTAMP_NTZ and rely on implicit casting during the COPY INTO operation.
Why it's wrong here
Snowflake does not implicitly cast a JSON string value into TIMESTAMP_NTZ during a COPY INTO load into a VARIANT column. Implicit casting applies to scalar values, not nested semi-structured fields. The load will succeed but the value remains a string inside VARIANT, so downstream queries that expect a timestamp will fail or return incorrect comparisons.
- ✓
Use a transformation in the COPY INTO statement with the TO_TIMESTAMP function on the JSON field.
Why this is correct
COPY INTO supports column-level transformations in the SELECT clause of the statement. Applying TO_TIMESTAMP($1:event_time::STRING) converts the ISO-8601 string to a TIMESTAMP_NTZ as the data is loaded, eliminating a separate post-load step. This is the intended mechanism for inline type conversion during ingestion of semi-structured files.
- ✗
Apply a masking policy on the VARIANT column to convert the string to a timestamp at query time.
Why it's wrong here
Masking policies are used for data governance to obfuscate or redact values, not for type conversion. They also do not change the stored data type of the column. Using a masking policy here would not produce a TIMESTAMP_NTZ value and would add unnecessary governance complexity without solving the ingestion requirement.
- ✗
Create a file format with the TIMESTAMP_FORMAT option set to 'YYYY-MM-DD"T"HH24:MI:SS'.
Why it's wrong here
TIMESTAMP_FORMAT is only applied when loading into a timestamp-typed column, not when the target is a VARIANT column. The file format option will be ignored for the JSON field, leaving the string unchanged inside the VARIANT. A transformation in the COPY statement is required to materialize a timestamp value.
About these practice questions
This DEA-C02 question is part of Courseiva's 229-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Snowflake exam blueprint
This DEA-C02 practice question is part of Courseiva's free Snowflake certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DEA-C02 exam.