String BigQuery:如何查看字符串的一部分?

String BigQuery:如何查看字符串的一部分?,string,split,google-bigquery,String,Split,Google Bigquery,我有一个数据库,看起来像 Alex,Anna,Peter Alex Alex,Peter Alfons Algebra,Geometry Algebra,Physics 然而,我只对逗号前的第一个表达式感兴趣。这意味着我的完美答案是: Alex Alex Alex Alfons Algebra Algebra 到目前为止,我找到了SPLIT函数,但它仍然返回了一些我并不感兴趣的值。如何使其高效运行 谢谢 产出: Alex Algebra 拆分可能会很昂贵,因为它会将

我有一个数据库,看起来像

 Alex,Anna,Peter
 Alex
 Alex,Peter
 Alfons
 Algebra,Geometry
 Algebra,Physics
然而,我只对逗号前的第一个表达式感兴趣。这意味着我的完美答案是:

Alex
Alex
Alex
Alfons
Algebra
Algebra
到目前为止,我找到了SPLIT函数,但它仍然返回了一些我并不感兴趣的值。如何使其高效运行

谢谢

产出:

Alex     
Algebra 

拆分可能会很昂贵,因为它会将字符串转换为重复字段,所以这里还有两种替代解决方案:

SELECT IFNULL(LEFT(s, INSTR(s, ',') - 1), s)
FROM
  (SELECT 'Alex,Anna,Peter' AS s),
  (SELECT 'Algebra,Geometry' AS s),
  (SELECT 'Alfons' AS s)

SELECT IFNULL(LEFT(s, INSTR(s, ',') - 1), s)
FROM
  (SELECT 'Alex,Anna,Peter' AS s),
  (SELECT 'Algebra,Geometry' AS s),
  (SELECT 'Alfons' AS s)
SELECT REGEXP_EXTRACT(s, r'([^,]*)')
FROM
  (SELECT 'Alex,Anna,Peter' AS s),
  (SELECT 'Algebra,Geometry' AS s),
  (SELECT 'Alfons' AS s)