sql - 排除文本列表,例如
问题描述
df
business_code business_category
A Café / Restaurant
B Car Repair Shop
C Cleaning Services
D Fast Food Restaurant
如果有与所写文本相似的文本,我想排除。
select business_code, business_category
from schema.df
where vmdm.mcc_level not like('%Caf%', '%epair%', '%leaning%')
上面的代码不起作用。
预期输出:df_output
D Fast Food Restaurant
另外,特别是对于咖啡馆/餐厅,我应该如何最好地排除它们?如果我写 '%af%,它可能会排除仅包含这 2 个字母的其他业务类别。如果我写 '%afé',则不排除 'Cafe'。
解决方案
您可以使用数组和ALL
select business_code, business_category
from schema.df
where vmdm.mcc_level not like ALL(array['%Caf%', '%epair%', '%leaning%'])
如果您正在寻找包含,您将使用ANY
:
...
where vmdm.mcc_level like ANY(array['%Caf%', '%epair%', '%leaning%'])
关于重音,您可以查看非重音扩展名,或者您可以同时过滤cafe
和café
。
推荐阅读
- python - pyodbc.connect(),一个方法还是一个函数?
- typescript - Parcel - 如何添加类型定义?
- flutter - 如何检测颤振应用程序何时从后台返回?
- java - 递归不打印错误但卡住了
- sql - 如何从 SQL 查询中检索值并将其存储在 VB.NET 中的变量中?
- azure-cosmosdb - CosmosDB - 存储针对搜索间隔优化的日期时间
- node.js - 如何使用 Lambda 函数了解 RDS 的状态
- python - 获取文件的创建日期,使用该日期创建文件夹并移动文件
- scroll - SwiftUI 无限滚动(上下)
- python - 根据日期计算给定文本文件中每个单词的出现次数