Snowflake外部表无法将变量值NULL转换为DATETIME/TIMESTAMP_NTZ类型 [英] Snowflake External Table failed to cast variant value NULL to DATETIME/TIMESTAMP_NTZ type
本文介绍了Snowflake外部表无法将变量值NULL转换为DATETIME/TIMESTAMP_NTZ类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
CREATE OR REPLACE EXTERNAL TABLE ext_table_datetime (
col1 datetime as (value:c1::datetime)
)
with location = 's3://bucket_name'
file_format = file_format_1
auto_refresh = true;
我还有如下定义的文件格式,它适用于外部表具有空值的其他列类型(varchar等),也适用于常规表中的DATETIME类型。因此,基本上不适用于DATETIME类型的外部表。
CREATE OR REPLACE FILE FORMAT file_format_1 type = 'CSV'
field_delimiter = ','
ESCAPE_UNENCLOSED_FIELD = NONE
SKIP_HEADER=1
NULL_IF = 'null';
对如何将空值加载/同步到外部表DATETIME类型有什么想法吗?
推荐答案
您是否尝试过在外部表定义中使用NULLIF
函数:
CREATE OR REPLACE EXTERNAL TABLE ext_table_datetime (
col1 datetime as (NULLIF(value:c1,'null')::datetime)
)
with location = 's3://bucket_name'
file_format = file_format_1
auto_refresh = true;
此外,由于这是Snowflake的预览功能,我建议您打开支持票证。格式化文件的NULL_IF参数可能会如您预期的那样为您处理此问题。
这篇关于Snowflake外部表无法将变量值NULL转换为DATETIME/TIMESTAMP_NTZ类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文