Google bigquery 大查询中按分隔符拆分
我有一张IP的桌子。我想用子网掩码创建另一列。 在大查询中有没有办法做到这一点?我特别需要按分隔符拆分,如下所示:Google bigquery 大查询中按分隔符拆分,google-bigquery,Google Bigquery,我有一张IP的桌子。我想用子网掩码创建另一列。 在大查询中有没有办法做到这一点?我特别需要按分隔符拆分,如下所示: IP Subnet 1.2.3.4 1.2 1.2.4.5 1.2 1.2.6.7 1.2 2.3.4.6 2.3 2.3.7.8 2.3 有什么想法吗 我需要按分隔符进行拆分 下面是BigQuery标准SQL的示例 #standardSQL with `project.dataset.table` AS ( select '1.2.3.4' col1
IP Subnet
1.2.3.4 1.2
1.2.4.5 1.2
1.2.6.7 1.2
2.3.4.6 2.3
2.3.7.8 2.3
有什么想法吗
我需要按分隔符进行拆分
下面是BigQuery标准SQL的示例
#standardSQL
with `project.dataset.table` AS (
select '1.2.3.4' col1 union all
select '1.2.4.5' union all
select '1.2.6.7' union all
select '2.3.4.6' union all
select '2.3.7.8'
)
select col1, regexp_extract(col1, r'\d+.\d+') col2
from `project.dataset.table`
结果
您也可以使用
SUBSTR()
和INSTR()
来获得结果:
指令(源值、搜索值、位置、出现次数)
with mytable AS (
select '1.2.3.4' IP union all
select '1.2.4.5' IP union all
select '1.2.6.7' IP union all
select '2.3.4.6' IP union all
select '2.3.7.8' IP
)
select IP,
SUBSTR(IP, 1, INSTR(IP, '.', 1, 2)-1) Subnet
from mytable