作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在我的 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/
我是一名优秀的程序员,十分优秀!