如何解决如何在雪花日期数据类型字段中插入儒略日期
我的数据采用以下格式(朱利安):
2020102 2019134
“雪花”中的数据类型是此字段的“日期”。如何使用“复制命令”将其插入SNowflake。
我在下面考虑,但是我还没有找到朱利安的日期格式。 复制到Table * col1,col2)(从$%Table中选择$ 1,TO_DATE($ 2,'format')
解决方法
雪花目前不支持儒略日期格式,但是您可以使用表达式将其转换为日期。 COPY目前尚不支持所有功能,但是您可以从舞台上使用INSERT + SELECT来完成。这是一个简单的示例:
COPY INTO @~/test
FROM
(SELECT $1 FROM
VALUES (2020102),(2019134))
;
CREATE OR REPLACE TABLE t1 (juldate int,caldate date);
INSERT INTO t1
SELECT $1,(left($1,4)||'-01-01')::date + right($1,3)::integer - 1
FROM @~/test;
SELECT *
FROM t1;
JULDATE CALDATE
2020102 2020-04-11
2019134 2019-05-14
,
雪花没有内置的儒略日期转换器,我也不认为您提供的值实际上是儒略日期,因为格式通常没有4位数字的年份,我不认为。无论哪种方式,您都需要进行一些解析和添加日期。这样的事情可能会奏效,尽管我不确定100%是否能确定预期的结果:
with x as (
SELECT '2020102' as julian
)
SELECT DATEADD(days,SUBSTRING(julian,5,3)::number-1,(SUBSTRING(julian,1,4)||'-01-01')::DATE)
FROM x;
这似乎可行,但又不是100%确定。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。