我在BigQuery查询参考中找不到能在第二个字符串中查找一个字符串并返回位置索引的函数。类似于其他SQL方言中的instr()。是否有替代品或任何技术可以实现这一目标?
例如:在“ abcdef”中查看“ de”将返回4。
实现此目的的一种方法是使用正则表达式提取(请参见此处的参考资料):
SELECT
title, LENGTH(REGEXP_EXTRACT(title, r'^(.*)def.*')) + 1 AS location_of_fragment
FROM
[publicdata:samples.wikipedia]
WHERE
REGEXP_MATCH(title, r'^(.*)def.*')
LIMIT 10;
Run Code Online (Sandbox Code Playgroud)
返回值:
Row title location_of_fragment
1 Austrian air defense 14
2 Talk:Interface defeat 16
3 High-definition television 6
4 Talk:IAU definition of planet 10
5 Wikipedia:Articles for deletion/Culture defines politics 41
6 Wikipedia:WikiProject Spam/LinkReports/defenders.org 40
7 Adenine phosphoribosyltransferase deficiency 35
8 Stay-at-home defenceman 14
9 Manganese deficiency (plant) 11
10 High-definition television 6
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7216 次 |
| 最近记录: |