繁体   English   中英

Bigquery标准SQL中的“contains”

[英]“contains” in Bigquery standard SQL

我希望从Legacy SQL迁移到Standard SQL

我在Legacy SQL中有以下代码

SELECT
  hits.page.pageTitle
FROM [mytable] 
WHERE hits.page.pageTitle contains '%' 

我在标准SQL中尝试过这个:

SELECT
  hits.page.pageTitle
FROM `mytable` 
WHERE STRPOS(hits.page.pageTitle, "%") 

但它给了我这个错误:

错误:无法访问类型为ARRAY>的值[4:21]的字段页面

试试这个:

SELECT 
  hits.page.pageTitle
FROM `table`,
UNNEST(hits) hits
WHERE REGEXP_CONTAINS(hits.page.pageTitle, r'%')
LIMIT 1000

在ga_sessions模式中,“hits”是ARRAY(即REPEATED模式)。 您需要应用UNNEST操作才能在BigQuery中使用数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM