gpt4 book ai didi

sql - 如何在 LIKE 过滤器中使用下划线字符给我一列的所有结果

转载 作者:行者123 更新时间:2023-12-02 00:11:38 28 4
gpt4 key购买 nike

我正在尝试在我的 where 子句中使用下划线以类似条件过滤我的 sql 查询。但是,当我过滤时,我希望所有值都只有 TS_AW19,而不是所有包含 TS 的值,这是我的查询当前给我的。有人可以帮助我使用正确的语法来进行下面的查询吗?

SELECT 
date,
creative_name,
SUM(revenue)*2 as spend
FROM `crate-media-group-client-data.DV360_ALL.GGLDV360BM_CREATIVE_*`
WHERE advertiser LIKE '%Topshop/Topman%' AND creative_name LIKE '%TS_AW19%' AND date = '2019-09-20'
GROUP BY 1,2
ORDER by creative_name

注意:我为此查询使用了大查询语法

最佳答案

下划线(和百分号)在与LIKE 一起使用时具有特殊含义,表示任何 单个字符的通配符。要解决此问题,请从 BigQuery documentation对于 LIKE:

You can escape "\", "_", or "%" using two backslashes. For example, "\%". If you are using raw strings, only a single backslash is required. For example, r"\%".

如果您打算在 LIKE 表达式中将其作为文字,您可以尝试对下划线进行两次转义:

SELECT 
date,
creative_name,
SUM(revenue)*2 AS spend
FROM `crate-media-group-client-data.DV360_ALL.GGLDV360BM_CREATIVE_*`
WHERE
advertiser LIKE '%Topshop/Topman%' AND
creative_name LIKE '%TS\\_AW19%' AND
date = '2019-09-20'
GROUP BY 1,2
ORDER BY
creative_name;

关于sql - 如何在 LIKE 过滤器中使用下划线字符给我一列的所有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58802679/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com