我将如何对SQL中的特定字符串使用通配符

问题描述 投票:1回答:1

我有一个在案例陈述中需要选择的字符串:

LLF_RET_mob

但是,当我在SQL的LIKE语句中使用以下字符串:'%LLF \ _RET _ \ _ mob%'时,它返回null。此通配符使用正确的语法是什么?

sql google-bigquery wildcard
1个回答
1
投票

您应使用'%LLF\\_RET\\_mob%',如下例所示>>

#standardSQL
WITH `project.dataset.table` AS (
  select 1 id, 'aaaLLF_RET_mobbbb' col union all
  select 2, 'aaaLLFRETmobbbb'
)
SELECT *
FROM `project.dataset.table`
WHERE col LIKE '%LLF\\_RET\\_mob%'

或者您也可以在下面的示例中使用regexp

#standardSQL
WITH `project.dataset.table` AS (
  SELECT 1 id, 'aaaLLF_RET_mobbbb' col UNION ALL
  SELECT 2, 'aaaLLFRETmobbbb'
)
SELECT *
FROM `project.dataset.table`
WHERE REGEXP_CONTAINS(col, r'LLF_RET_mob')

显然,您可以在CASE语句中同时使用LIKE或REGEXP_CONTAINS作为条件

© www.soinside.com 2019 - 2024. All rights reserved.