请参阅以下示例
之一 Start -> vendor-i (06/06/2017 09:07:18 PM) -> vendor-p (06/08/2017 04:44:47 PM) -> vendor-p (06/12/2017 11:32:33 AM) -> vendor-p (06/13/2017 04:49:47 PM)
从上述阶段,我需要将供应商 i 提取为新变量,然后将供应商 p 提取为另一个新变量。
在某些情况下,我只有一个供应商名称。
我构建的代码是:
regexp_extract(GROUP_NAMES,r'([a-z._]*).') as integrations,
regexp_extract(GROUP_NAMES,r([vendor_que]) as vendor_que
请建议我们如何实现这一点,因为供应商名称可以出现在任何地方,所以我们也不能定义长度。
由于你想要所有的名称,你可以使用 REGEXP_EXTRACT_ALL
来获取它们的数组。例如
#standardSQL
SELECT REGEXP_EXTRACT_ALL(GROUP_NAMES, r'-> ([^ ]+)')
FROM (
SELECT 'Start -> vendor-i (06/06/2017 09:07:18 PM) -> vendor-p (06/08/2017 04:44:47 PM) -> vendor-p (06/12/2017 11:32:33 AM) -> vendor-p (06/13/2017 04:49:47 PM)' AS GROUP_NAMES
);
输出是数组["vendor-i", "vendor-p", "vendor-p", "vendor-p"]
。