我的值为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
但是不确定这是列类型的规范还是在插入之前需要转换数据?
答案 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