在Snowflake变体字段中,是否有一种函数可以检查一个键是否存在?
在Snowflake变体字段中,是否有一种函数可以检查一个键是否存在?
您可以使用IS_NULL_VALUE来查看键是否存在。如果键不存在,则结果将为NULL。如果键存在,则结果将为TRUE(当值为JSON null时)或FALSE(当存在非null JSON值时):
select parse_json('{hello: NULL, world: 123}') as V,
V:hello,
V:world,
IS_NULL_VALUE(v:hello),
IS_NULL_VALUE(v:world),
IS_NULL_VALUE(v:goodbye),
IFF(IS_NULL_VALUE(v:non_existing_key) is null, 'Key does not exist', 'Key exists'),
IFF(IS_NULL_VALUE(v:hello) is null, 'Key does not exist', 'Key exists'),
IFF(IS_NULL_VALUE(v:world) is null, 'Key does not exist', 'Key exists')
;
SELECT ARRAY_CONTAINS('<key_to_search_for>'::VARIANT, OBJECT_KEYS(<variant_column>))
FROM <table_name>;
SELECT COUNT(*)
FROM x
,LATERAL FLATTEN(parse_json(x.var), recursive => True) x2
WHERE x2.key = 'test';
x2
的目的是什么? - demirciogluWHERE x2.key = 'test'
。我会进行编辑。 - Mike Walton