雪花-插入日期

时间:2019-08-26 15:41:40

标签: sql date snowflake-data-warehouse

我的值为12/31/18,并在雪花中创建了表格:

create table my_date (a date);

insert into my_date values ('12/31/18');

select * from my_date;

结果:0018-12-31

我想获得:2018-12-31

我看到了大约2个数字格式:
https://docs.snowflake.net/manuals/sql-reference/parameters.html#label-two-digit-century-start

但是不确定这是列类型的规范还是在插入之前需要转换数据?

1 个答案:

答案 0 :(得分:4)

参数two_digit_century_start设置为date_input_format时似乎不使用参数AUTO。通过使用参数设置日期格式(下面第二行的“ alter session ...”语句),可以使示例正常工作。您完整的工作示例如下所示:

create table my_date (a date);
alter session set DATE_INPUT_FORMAT = 'MM/DD/YY';
insert into my_date values ('12/31/18');
select * from my_date;

结果为2018-12-31

Snowflake最佳做法建议使用to_date(value, 'format')或通过在参数中设置格式来明确指定格式。您可以在以下地址的Snowflake文档中找到日期/时间函数的最佳做法:https://docs.snowflake.net/manuals/user-guide/date-time-input-output.html#date-time-function-format-best-practices