大查询时的 charindex 函数

Amo*_*mol 2 sql google-bigquery

我有以下 sql 查询,需要在 bigquery 上运行

select replace(substring(p.name, charindex(',', p.name), len(p.name)), ',', '') AS [First_Name] from people p
Run Code Online (Sandbox Code Playgroud)

所以我尝试了下面的大查询语法

select replace(SUBSTR(p.name, charindex(',', p.name), len(p.name)), ',', '') AS [First_Name] from people
Run Code Online (Sandbox Code Playgroud)

但我遇到了以下错误

Function not found: charindex at [1:1]
Run Code Online (Sandbox Code Playgroud)

Gor*_*off 10

BigQuery 具有比 SQL Server 更强大的字符串操作功能。更简单的方法是:

select (split(p.name, ','))[safe_ordinal(1)]
Run Code Online (Sandbox Code Playgroud)

您还可以使用正则表达式:

select regexp_extract(p.name, '[^,]*')
Run Code Online (Sandbox Code Playgroud)