我有一个这样的查询:
select
name,
split(name, ' ')[0] as name_1
from table
我希望对一个正则表达式应用两次,这可能吗?
我所做的和它没有起作用的是:
select
name,
split(name, ' ')[0] as name_1,
split(regexp_extract(name, "^(.*?)\s(.*)",2), ' ')[0] as name_1,
from table
如果我有:姓名:Mark Bill Gates Potter预期结果将是:Gates Potter
地址:亚利桑那州第1.4街294号门预期:st.14Arizona
姓名栏是全名(例如Mark Bill Gates Potter(,我的想法是保留第三个单词直到最后一句(例如Gates Potter.(。这怎么可能呢?
我在蜂巢工作。
我的想法是保留第三个单词直到最后一句(例如Gates Potter(
可能是:
split(name, ' ')[2] || ' ' || split(name, ' ')[3] as name_3_4
如果你真的想要第三个单词的所有内容,正则表达式会更好:
regexp_replace(name, '^\S+\s*\S+\s*', '') as name_3_and_more
这里的想法是用空字符串替换前两个单词。