我想从一个包含短信文本的专栏中提取一个人的名字。案文一般以“亲爱的”一词开头。例如:亲爱的迈克尔湾,你的电影票..。
在mysql上,我使用了SUBSTRING_INDEX(SUBSTRING_INDEX(sms_text, " ", 2)," ", -1),但是现在我不得不在BIgQuery上做同样的事情,并且找不到类似的函数。
样本数据:
Sms_text
亲爱的,迈克尔·乔丹,你的火车票已经寄给你了。
亲爱的维拉特·科利,你的航班25分钟后起飞。
期望输出:
米查尔
维拉特
有人能帮我解决这个问题吗?
发布于 2018-08-09 12:49:05
with t as (
select 'Dear, Micheal Jordan, your match tickets have been mailed to you.' as sms
union all
select 'Dear Virat Kohli, your flight will depart in 25 mins.' as sms
)
select split(sms,' ')[offset(1)] from t这会返回
Micheal
Virathttps://stackoverflow.com/questions/51766947
复制相似问题