小编典典

将LIKE子句的SQL语法缩短为IN子句

sql

在SQL中,有什么方法可以缩短语法

Select * from TableName
where ColumnName like '%A%' or ColumnName like '%B' or ColumnName like 'C%'

Select * from TableName
where ColumnName in ('%A%','%B','C%')

一次又一次地在Where子句中写入相同的列名是不可行的OR


阅读 190

收藏
2021-04-07

共1个答案

小编典典

没有没有办法将LIKE与IN 直接 结合 __

有很多解决方法,例如本例中的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%'
2021-04-07