您知道如何在mysql where子句中包含和排除字符串的部分吗?
在where子句中使用and/or/not运算符创建以下逻辑时遇到问题 我有一个名为package的字段,它列出了许多不同的包名称,我需要根据以下规则专门包括/排除:您知道如何在mysql where子句中包含和排除字符串的部分吗?,mysql,sql,Mysql,Sql,在where子句中使用and/or/not运算符创建以下逻辑时遇到问题 我有一个名为package的字段,它列出了许多不同的包名称,我需要根据以下规则专门包括/排除: 如果包的名称中包含续订、optout或折扣,并且包的名称中不包含premium,则需要将这些名称从数据集中排除。(因此,如果一个包的名称和单词premium中包含renew、optout或折扣,则这些都将包含在数据集中) 此外,需要排除任何与员工或公司有关的信息 上述规则中未列出的任何其他内容都将包含在数据集中 任何帮助都将不胜感
任何帮助都将不胜感激,并添加到我的sql工具带中 听起来像是:
SELECT *
FROM packages
WHERE name NOT LIKE '%employee%'
AND name NOT LIKE '%Comp%'
AND (name NOT LIKE '%renew%' OR name NOT LIKE '%optout%' OR name NOT LIKE '%discount%') OR name LIKE '%premium%')
有两个排除行的条件,因此您需要一个WHERE子句,其中包含以NOT运算符开头的布尔表达式,并结合AND:
where
not ((package like '%renew%' or package like '%optout%' or package like '%discount%') and (package not like '%premium%'))
and
not (package like '%employee%' or package like '%comp%')
欢迎来到苏,丽丽!你能提供样本数据吗?另外,如果你能展示你已经尝试过的东西,我们可以从那里开始工作。那么保费是在还是在?