我有三种字符串类型:"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(作为字符串返回。