1

我想检查一个字段是否有“空”值。如果是这样,我想用 NULL 值替换“null”。这适用于普通字段:

 SELECT NULLIF(JSON_DATA:"TO_Creator"::string, 'null') as "TO_CREATOR" FROM TABLE

但是,它不适用于时间戳:

NULLIF(JSON_DATA:"TO_Collected_Date_Time"::timestamp_ntz, 'null') as "TO_COLLECTED_DATE_TIME",

这稍后会引发以下错误:

SQL Error [100035] [22007]: Timestamp 'null' is not recognized

如何在时间戳字段中检查相同的 NULL 值?

4

1 回答 1

1

在这种情况下,TRY_TO_TIMESTAMP_NTZ就足够了:

TO_TIMESTAMP / TO_TIMESTAMP_* 的特殊版本,执行相同的操作(即将输入表达式转换为时间戳),但支持错误处理(即如果无法执行转换,则返回 NULL 值而不是引发错误)

SELECT TRY_TO_TIMESTAMP_NTZ(JSON_DATA:"TO_Collected_Date_Time"::STRING) 
于 2022-02-21T19:09:56.450 回答