如何在 BigQuery SQL 中获取特定字符集的所有内容?

May*_*kid 3 sql google-bigquery

所以我所拥有的是一系列字符串,每个字符串中都有一个不同的“MIN”,例如:

abcdefMINjklkkase
ffffffffffMINxxxxxxxxxx
eeeMINoooooooooooooooooo
ggggggggMINkkkkkkk
wwwwwwwwwwwwwwwwMINiiiiiiii
Run Code Online (Sandbox Code Playgroud)

所有字符串集的长度都不同,否则我将使用 LEFT 函数或 LTRIM 函数。我想得到的结果是,

abcdef
ffffffffff
eee
gggggggg
wwwwwwwwwwwwwwww
Run Code Online (Sandbox Code Playgroud)

由于字符串的创建方式,变量 'MIN' 在所有字符串集中都是一致的,只是长度不同。

任何帮助将非常感激!

-Maykid

Luk*_*zda 5

你可以使用:

SELECT col, SUBSTR(col, 1, INSTR(col, 'MIN'))
FROM tab
Run Code Online (Sandbox Code Playgroud)


Mik*_*ant 5

#standardSQL
SELECT 
  str, 
  REGEXP_REPLACE(str, r'MIN.*', '') option_1,
  REGEXP_EXTRACT(str, r'(.*?)MIN.*') option_2
FROM `project.dataset.table`
Run Code Online (Sandbox Code Playgroud)