sql - 只有当它不包含字符串时,我如何才能带一个寄存器 - SQL?
问题描述
我的查询是这样的:
SELECT * FROM table WHERE name LIKE "%Mary%"
但是现在,我想带上所有出现的内容,只要它不包含“Jane”,尤其是在“Mary”中。我不想要“Mary Jane”、“Jane Mary”或任何变体(例如“Mary Smith Jane”)。
我真的不知道该怎么做。
编辑:我不确定我是否只能使用“不喜欢”,因为出于其他原因,我已经在同一个查询中使用了“不喜欢”。
实际上:
SELECT * FROM table WHERE name NOT LIKE "%John%"
AND name NOT LIKE '%Charlie%'
AND name LIKE '%Mary%'
解决方案
只需将其添加到WHERE
子句中:
WHERE name LIKE '%Mary%' AND
name NOT LIKE '%Mary Jane%'
或者,如果您的意思是完全匹配不是您想要的:
WHERE name LIKE '%Mary%' AND
name <> 'Mary Jane'
推荐阅读
- amazon-s3 - Minio 无法访问另一个 aws 账户中的存储桶
- github - 如何将 Jekyll 站点从 github repo 部署到我的 ftp?
- arrays - Google 表格 =QUERY() 匹配两张表格上的姓名
- ios - 如何访问/修改子视图中的父视图变量?
- flutter - 两个场景相同的flutter_bloc
- date - 如何使用应用脚本将日期插入谷歌标题?
- flutter - 在颤动中扩展时如何在screenView中保留扩展的小部件
- css - 如何在 Python Selenium 中使用 css 或运算符
- service-worker - 如何使用 Workbox-build 为 Service Worker 生成带有版本控制的预定义清单
- unity3d - Unity,如何使摩擦与运动一起工作