Может ли Snowflake скопировать из CSV без каких-либо интерпретаций даты или времени? - PullRequest
1 голос
/ 12 марта 2020

Я хочу загрузить таблицы Snowflake со всеми столбцами, определенными как varchar2, используя COPY INTO, но Snowflake продолжает пытаться интерпретировать поля файла как дату или время. Есть ли возможность сказать что-то вроде DATE_FORMAT = NOAUTO? Из-за изменчивости этих файлов, количества столбцов даты / даты и времени и их форматов мы осуществляем преобразование форматов с помощью другого процесса.

Будет, используя COPY INTO ... FROM SELECT () помешать полевым интерпретациям?

Ответы [ 2 ]

0 голосов
/ 12 марта 2020

Да, COPY INTO ... FROM SELECT () предотвращает интерпретацию полей.

copy into MY_TABLE
from (select t.$1, t.$2, t.$3, ...
      from @snamed_stage t);

... для данных на этапе во 2-м поле были данные, отформатированные как мм / дд / гггг , Это НЕ было интерпретировано, и столбец таблицы 2 имеет текстовые значения. В третьем поле были данные в формате гггг / мм / дд, а столбец таблицы 3 содержит текстовые значения.

0 голосов
/ 12 марта 2020

Если вы хотите набрать приведения значений полей со сцены, вы можете использовать простое выражение SQL, чтобы сделать это.

выберите to_char ($ 1), to_char ($ 2) из ​​@ stage1 / sample1.csv. gz;

Также вы можете вставить непосредственно в вашу целевую таблицу.

вставить в TEST111 выберите to_char ($ 1), to_char (2) из ​​@ stage1 / sample1.csv.gz;

Существует так много вариантов форматирования записи от вашей сцены к цели, см. Ссылку ниже https://docs.snowflake.net/manuals/sql-reference/sql/copy-into-table.html

Большое спасибо, Срига

...