BigQuery 提取两个"."之间的字符串



我有三种字符串类型:"en-ae.ssports.com"、"mazon.co.uk"、"farfetch.com">

我需要客户名称,即Ssports、Amazon、Farfetch。

曾尝试使用regexp"(?:.([^.]*(?:..("提取两点之间的字符串,但我需要一个从所有三种字符串类型中提取数据的动态代码。

您可以尝试以下查询

SELECT INITCAP(RTRIM(NET.REG_DOMAIN(str), '.' || NET.PUBLIC_SUFFIX(str))) AS client_name
FROM UNNEST(['en-ae.sssports.com','amazon.co.uk','farfetch.com']) str

查询重新结果

+-------------+
| client_name |
+-------------+
| Sssports    |
| Amazon      |
| Farfetch    |
+-------------+

参考

  • NET.REG_DOMAIN((

将URL作为字符串,并将已注册或可注册的域(公共后缀加上前面的一个标签(作为字符串返回。

  • NET.PPUBLIC_SUFIFIX((

将URL作为字符串,并将公共后缀(如com、org或net(作为字符串返回。

最新更新