sql - 如何在 Big Query SQL 中搜索声明值之类的内容?
问题描述
因此,我DECLARE
在查询中有值,我想知道如何制作它,以便可以搜索LIKE
名称。例如:
DECLARE Name STRING DEFAULT 'MI'
SELECT DISTINCT
Employee,
Pay,
Date
FROM
Temp_Table
WHERE
Employee LIKE Name
这样做时,当我从当前拥有的数据中知道MI
名称中有多个时,我什么也得不到。我也尝试过这样做:
WHERE
Employee LIKE '%' + Name + '%'
但这会引发以下错误:
Query error: No matching signature for operator + for argument types: STRING, STRING. Supported signatures: INT64 + INT64; FLOAT64 + FLOAT64; NUMERIC + NUMERIC; DATE + INT64; INT64 + DATE
无论如何,我可以搜索一些LIKE
有价值DECLARE
的东西吗?还是我必须在没有DECLARE
值的情况下进行查询?
先感谢您!!
解决方案
作为一个选项 - 您可以使用 REGEXP_CONTAINS 如下例所示
DECLARE Name STRING DEFAULT 'MI'
SELECT DISTINCT
Employee,
Pay,
Date
FROM
Temp_Table
WHERE
REGEXP_CONTAINS(UPPER(employee), name);
推荐阅读
- python - 创建一个函数 generateString(char, val),它返回一个字符串,其中 val 个 char 字符连接在一起
- javascript - 如何为范围外声明的变量赋值
- android - 将支持库升级到 v28 或 androidx 时的问题
- python - 如何停止循环,直到用户输入关键字停止?
- javascript - 将 async/await 与 for 循环一起用于嵌套的 Axios 调用
- html - 为什么这个 SVG 滤镜动画在 Edge 或 Chrome 中不起作用?
- swift - 字典用 .keys 改变索引位置——Swift
- c# - C# WebMethod - 更改字符串列表的参数名称
- x86 - RFO 计算英特尔 CPU 上的原子添加操作和缓存线锁定?
- javascript - jQuery 多步向导表单