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)