在 Bigquery 中,可以使用 STRPOS 函数来实现类似于 MySQL 中的 LOCATE 方法的功能。
STRPOS 函数的语法和用法如下:
SELECT STRPOS(string, substring)
其中,string 是要在其中搜索的字符串,substring 是要搜索的子字符串。该函数返回子字符串在字符串中第一次出现的位置。如果子字符串不存在,则返回 0。
例如,假设我们有一个包含用户名和电子邮件地址的表 users,我们想要查找所有用户名中包含“john”的记录。我们可以使用以下查询:
SELECT * FROM users WHERE STRPOS(name, 'john') > 0
这将返回所有用户名中包含“john”的记录。
示例代码:
#standardSQL WITH data AS ( SELECT 'John Doe' AS name UNION ALL SELECT 'Jane Smith' UNION ALL SELECT 'Bob Johnson' ) SELECT name, STRPOS(name, 'john') AS position FROM data WHERE STRPOS(name, 'john') > 0
该查询将返回以下结果:
name position John Doe 1 Jane Smith 0 Bob Johnson 0