sql - 查找没有特定字符的记录
问题描述
我有一个表,它有一列Name
。用户可以指定一些字符,以便名称列不应包含所有这些字符。我如何为未知数量的字符动态地执行此操作?
谢谢
解决方案
尝试这个:
Select name from tbl
except
select name from tbl
join
(select substring(a.b, v.number + 1, 1) letter
from (select 'WCRTV' b) a
join master..spt_values v on v.number < len(a.b)
where v.type = 'P') chars
on name like '%' + chars.letter + '%'
首先,您将 astring
作为输入,这里输入是一个静态值'WCRTV'
,然后使用以下代码,您可以将其string
转换为列表chars
(这部分的功劳转到此链接):
select substring(a.b, v.number + 1, 1) letter
from (select 'WCRTV' b) a
join master..spt_values v on v.number < len(a.b)
where v.type = 'P'
然后将结果与表连接起来,最后从表中减去结果。
推荐阅读
- python - 授予特定数据 JWT MySQL Flask-Restful Python 权限的正确方法
- excel - 如何避免在每个 Sub 中重复相同的错误处理?
- server - 在特定时间启动和停止 MERN 应用程序
- visual-studio-code - vs代码没有在windows中打开
- vue.js - 页面加载时无法将焦点设置到文本区域
- ios - 找到 UIView 的视图控制器/将其设置为不同的
- android - 将带有 UTF-8 的字符从 Android 应用程序发送到服务器端
- javascript - 类型错误:player.b 未定义。我该如何解决?
- r - 使用 VBA 向 RStudio 的控制台发送命令
- python - django.core.exceptions.ImproperlyConfigured:请求设置 INSTALLED_APPS,但未配置设置。请帮帮我