Google bigquery BigQuery IF条件然后将值追加到数组中-标准SQL
在BQ(标准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
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
您试过了吗?它会给你预期的结果或错误吗?