在Snowflake中将YYYYMMDD字符串转换为YYYY-MM-DD日期格式

时间:2020-07-29 00:34:58

标签: sql snowflake-cloud-data-platform

基于雪花documentation中此处提到的示例,为什么仅通过更改ORDER BY子句,日期和时间戳值会返回不同的值?另外,我正在尝试将字符串转换为日期格式,该日期格式在Snowflake中未返回正确的结果,而在其他基于SQL的引擎中却能正常工作。在这方面需要专家的帮助。

此查询

SELECT '20200710', TO_DATE('20200710');

返回以下输出

20200710 | 1970-08-22

也尝试过:

SELECT TO_DATE('20200710', 'YYYY-MM-DD');

并收到错误:

无法将格式为“ YYYY-MM-DD”的“ 20200710”解析为日期

1 个答案:

答案 0 :(得分:2)

要转换为 date 数据类型,请使用:

SELECT TO_DATE('20200710', 'YYYYMMDD')

我建议仅保留日期数据类型。但是,如果您要使用YYYY-MM-DD格式的字符串:

SELECT TO_CHAR(TO_DATE('20200710', 'YYYYMMDD'), 'YYYY-MM-DD')