繁体   English   中英

如何从 bigquery 中数据类型为字符串的字典列中查询位置?

[英]How to query where from dictionary column with datatype string in bigquery?

您好我有一列,其中包含具有数据类型字符串的字典。 如何在 bigquery sql 中查询 where attributes.statusSource = source? 这是一个例子

ID 属性
1个 {“flushOut”:0,“expiration”:0,“productAge”:0,“sourceStatus”:“SOURCE”,“criticalStatus”:false,“storageHandling”:“FROZEN”,“expirationReminder”:0}
2个 {“flushOut”:0,“expiration”:0,“productAge”:0,“sourceStatus”:“DISCONTINUE”,“criticalStatus”:false,“storageHandling”:“FROZEN”,“expirationReminder”:0}

我想要返回的是 where attribute.sourceStatus = "source"

ID 属性
1个 {“flushOut”:0,“expiration”:0,“productAge”:0,“sourceStatus”:“SOURCE”,“criticalStatus”:false,“storageHandling”:“FROZEN”,“expirationReminder”:0}

使用JSON_EXTRACT_SCALAR()

SELECT * FROM (
SELECT '{"flushOut": 0, "expiration": 0, "productAge": 0, "sourceStatus": "SOURCE", "criticalStatus": false, "storageHandling": "FROZEN", "expirationReminder": 0}' as attributes
UNION ALL
SELECT '{"flushOut": 0, "expiration": 0, "productAge": 0, "sourceStatus": "DISCONTINUE", "criticalStatus": false, "storageHandling": "FROZEN", "expirationReminder": 0}' as attributes
) WHERE JSON_EXTRACT_SCALAR(attributes, '$.sourceStatus') = 'SOURCE'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM