Google bigquery BigQuery IF条件然后将值追加到数组中-标准SQL

Google bigquery BigQuery IF条件然后将值追加到数组中-标准SQL,google-bigquery,Google Bigquery,在BQ(标准SQL)中,如果满足条件,我想在现有数组中追加一个值 范例 IF (REGEXP_CONTAINS(prodTitle, r'(?i)ecksofa'),ARRAY_CONCAT(prodcategory, ("1102"))) IF (REGEXP_CONTAINS(prodTitle, r'(?i)ecksofa'),ARRAY_CONCAT(prodcategory, ("1102"))) IF (REGEXP_CONTAINS(p

在BQ(标准SQL)中,如果满足条件,我想在现有数组中追加一个值

范例

IF (REGEXP_CONTAINS(prodTitle, r'(?i)ecksofa'),ARRAY_CONCAT(prodcategory, ("1102"))) 
IF (REGEXP_CONTAINS(prodTitle, r'(?i)ecksofa'),ARRAY_CONCAT(prodcategory, ("1102"))) 
IF (REGEXP_CONTAINS(prodTitle, r'(?i)blablan'),ARRAY_CONCAT(prodcategory, ("1103"))) 
这是否正确和有效

我可以在同一查询中使用多个IFs和数组_CONCAT吗

范例

IF (REGEXP_CONTAINS(prodTitle, r'(?i)ecksofa'),ARRAY_CONCAT(prodcategory, ("1102"))) 
IF (REGEXP_CONTAINS(prodTitle, r'(?i)ecksofa'),ARRAY_CONCAT(prodcategory, ("1102"))) 
IF (REGEXP_CONTAINS(prodTitle, r'(?i)blablan'),ARRAY_CONCAT(prodcategory, ("1103"))) 

我猜你的目的如下(稍微更正一下你的表达):

IF(REGEXP_包含(prodTitle,r'(?i)ecksofa'),
数组_CONCAT(prodcategory,[“1102”]),
产品类别)
为了在输出数组中链接多个IF和concat,我将使用如下SQL:

ARRAY\u CONCAT(产品类别,
如果(REGEXP_包含(prodTitle,r'(?i)ecksofa'),[“1102”],[]),
如果(REGEXP_包含(prodTitle,r'(?i)blablan'),[“1103”],[]),
...
)
为了提高效率,最好更换

REGEXP_包含(prodTitle,r'(?i)ecksofa')
=>
STRPO(较低(prodTitle),“ecksofa”)!=0

您试过了吗?它会给你预期的结果或错误吗?