Din*_*edi 1 snowflake-cloud-data-platform snowsql
我想要2000-02-05
在snowsql 中使用以下查询的结果。
alter session set TWO_DIGIT_CENTURY_START=2000;
select cast ('05-FEB-00' as date) from dual;
Run Code Online (Sandbox Code Playgroud)
但我得到0001-02-05
. 我正在使用现有脚本在适用于 oracle 的雪花中加载日期。我知道我可以使用 to_date 函数获得预期的结果,但我不想这样做。如果我必须,那么我已经改变了脚本中的许多地方,这是忙碌的。
我想要使用 cast 函数的解决方案。有谁知道这里发生了什么?
小智 5
您首先需要为输入数据指定非默认日期格式。在上面的例子中:
alter session set date_input_format = 'DD-MON-YY';
Run Code Online (Sandbox Code Playgroud)
然后
alter session set TWO_DIGIT_CENTURY_START=2000;
select cast ('05-FEB-00' as date) from dual;
Run Code Online (Sandbox Code Playgroud)
产量:
2000-02-05