Snowsql 两位数世纪开始日期转换问题

Snowsql two digit century start date cast issue

我想要在 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 函数获得预期结果,但我不想这样做。如果必须的话,我会更改脚本中的很多地方,这很忙。

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

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

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-02-05