Snowsql两位数世纪开始日期投射问题

时间:2018-04-25 04:59:21

标签: snowflake-datawarehouse snowsql

我想在snowsql中使用以下查询结果2000-02-05

alter session set  TWO_DIGIT_CENTURY_START=2000;
select cast ('05-FEB-00' as date) from dual;

但我得到了0001-02-05。 我使用现有的脚本在雪花中加载日期,适用于oracle。我知道我可以使用to_date函数获得预期的结果,但我不想这样做。如果必须的话,我会在脚本中改变许多地方,这是忙乱的。

我想要使用强制转换功能的解决方案。有谁知道这里发生了什么?

1 个答案:

答案 0 :(得分:4)

首先需要为输入数据指定非默认日期格式。在上面的例子的情况下:

alter session set date_input_format = 'DD-MON-YY';

然后

alter session set  TWO_DIGIT_CENTURY_START=2000;
select cast ('05-FEB-00' as date) from dual;

的产率:

2000年2月5日