在 SQL 中,
有没有办法缩短语法
Select * from TableName
where ColumnName like '%A%' or ColumnName like '%B' or ColumnName like 'C%'
To
Select * from TableName
where ColumnName in ('%A%','%B','C%')
写入相同的列名是不可行的Where
条款与OR
一次又一次。
不,没有办法将 LIKE 与 IN 结合起来directly
有很多方法可以解决这个问题,例如 SQL Server 的示例
Select *
from
TableName T
JOIN
(VALUES ('%A%'),('%B'),('C%')) AS X(Expression) ON T.ColumnName LIKE X.Expression
这会将多个 OR 搜索条件更改为行和 JOIN
或者您可以使用 UNION 将多个查询合并为一个
Select * from TableName
where ColumnName like '%A%'
union
Select * from TableName
where ColumnName like '%B'
union
Select * from TableName
where ColumnName like 'C%'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)