在雪花中,如何将一种日期格式转换为另一种格式从YYYYMMDD到YYYY-MON-DD

问题描述

我有一个表ABC,其中的数据类型为Date的Z列。数据格式为YYYYMMDD。现在,我希望将上述格式转换为YYYY-MON-DD格式。有人可以帮忙吗?

解决方法

您可以使用to_char

TO_CHAR(Z,'YYYY-MON-DD')
,

根据重新格式化的目的,您可以将其显式转换为VARCHAR / CHAR并定义格式,也可以将显示格式更改为希望查看所有日期的方式:

ALTER SESSION SET DATE_OUTPUT_FORMAT = 'YYYY-MON-DD';

重要的是要理解,如果数据在DATE字段中,则将其存储为日期,并且日期的格式取决于您的查看首选项,而不是存储方式。

,

由于日期字段的值存储为数字,因此必须将其转换为日期。

ALTER SESSION SET DATE_OUTPUT_FORMAT ='YYYY-MON-DD';

选择to_date(to_char(z),'YYYYMMDD');

,

(添加此答案以总结和解决问题-因为线索和答案是通过评论分散的)

  • 该问题表明列var pair = data?.pairs[index] 的类型为pair,但实际上似乎是Z
  • 然后在将DATE之类的数字解析为日期之前,首先需要将其转换为NUMBER
  • 将原始数字解析为日期后,就可以将其表示为根据需要设置格式的新字符串。
20201017
,

我不希望它有更好的表现,但是可以扔进去。您基本上可以将年,月和日分开,然后按照所需的格式将它们缝合在一起

set z='20200101';
select to_char((left($z,4) ||'-'|| substr($z,5,2) ||'-'|| right($z,2))::date,'YYYY-MON-DD')

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...