【发布时间】:2021-05-13 07:14:26
【问题描述】:
我有一个类似的查询
SELECT lineid,
array
(
select day_name positions
FROM unnest(regexp_extract_all(json_extract(json, '$.attributes.day-part-targeting.data.dayparts'), r'("+[A-Za-z]+"+:+"+[A-Za-z]+")')) pair,
unnest([STRUCT(CONCAT(REPLACE(SPLIT(pair, ':')[OFFSET(1)],'"',''),';') AS day_name)]) )day_part,
array
(
SELECT start_time positions
FROM unnest(regexp_extract_all(json_extract(json, '$.attributes.day-part-targeting.data.dayparts'), r'"[^"]+":\[[\d,]*?]')) pair,
unnest([STRUCT(CONCAT(REPLACE(SPLIT(SPLIT(pair, ':')[OFFSET(1)],',')[OFFSET(0)],'[',''),':00;')AS start_time )])) hour_part,
array(
SELECT end_time VALUES
FROM unnest(regexp_extract_all(json_extract(json, '$.attributes.day-part-targeting.data.dayparts'), r'"[^"]+":\[[\d,]*?]')) pair,
unnest([STRUCT(CONCAT(REPLACE(REVERSE(SPLIT(REVERSE(SPLIT(pair, ':')[OFFSET(1)]),',')[OFFSET(0)]),']',''),':00;')AS end_time
)])
) time_part
FROM `project.dataset.table`
这给出了以下结果
我想要一个类似的输出
【问题讨论】:
-
我已修改查询并已解决问题
标签: arrays string google-bigquery unnest