这似乎很容易,但是对于我在星期五晚上的一生来说……
我有一个要从s3中读取的json文件
{"name":"bob", "currentTime":"null"}
我在雪花中创造了一个舞台。
我这样做的时候
Select $1:name, $2:currentTime
from @myStage/mydocument
我得到了预期的结果
$ 1:name $ 2:currentTime
“ bob”“ null”
我有一张雪花桌子
create table test_bob
(
name varchar
,currentTime TIMESTAMP_NTZ
)
但是当我这样做
Copy into test_bob
Select $1:name, $2:currentTime
from @myStage/mydocument
我得到一个错误
Failed to cast variant value "null" to TIMESTAMP_NTZ
我尝试使用 NULL_IF 如建议的here。
我尝试使用STRIP_NULL_VALUES作为文件格式
答案 0 :(得分:1)
看起来您有一个字符串“ null”而不是null值。你尝试过吗?
Copy into test_bob
Select $1:name, NULLIF($2:currentTime::string,'null')::timestamp_ntz
from @myStage/mydocument
这应该在尝试将json属性对象转换为timestamp_ntz之前检查字符串的值。