给定:json字符串,表示作为查询结果选择的数组字段。
如何在Big Query中找出JSON数组字段的长度?
答案 0 :(得分:3)
看看这是否符合您的要求。它使用JavaScript UDF来解析JSON,然后返回数组长度。
#standardSQL
CREATE TEMP FUNCTION JsonArrayLength(json_array STRING)
RETURNS INT64 LANGUAGE js AS """
var arr = JSON.parse(json_array);
return arr.length;
""";
SELECT JsonArrayLength('[1,3,5,7]');
答案 1 :(得分:0)
下面的示例适用于BigQuery Standard SQL
#standardSQL
SELECT ARRAY_LENGTH(SPLIT('[1,3,5,7]'))
答案 2 :(得分:0)
如果它对像我这样今天寻找答案的人有用:
我用 BigQuery 中的 JSON_LENGTH(json_string, json_path)
替换了 MySQL 中的 ARRAY_LENGTH(JSON_EXTRACT_ARRAY(json_string, json_path)
方法。