BigQuery中的SUBSTRING_INDEX

时间:2018-08-09 12:24:03

标签: sql google-bigquery

我想从包含短信文本的列中提取一个人的名字。这些文本通常以“亲爱的”一词开头。例如。亲爱的米歇尔湾,您的电影票...

在mysql上,我使用了SUBSTRING_INDEX(SUBSTRING_INDEX(sms_text, " ", 2)," ", -1),但是现在我必须在BIgQuery上做同样的事情,而我找不到类似的功能。

样本数据:

Sms_text

亲爱的乔丹(Micheal Jordan),您的比赛门票已经寄给您。

尊敬的维拉特·科利(Virat Kohli),您的航班将在25分钟内起飞。

所需的输出:

米歇尔

Virat

有人可以帮我吗?

1 个答案:

答案 0 :(得分:-1)

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

Virat