0

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

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

4

1 回答 1

2

不,没有办法直接将 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%'
于 2013-05-09T10:02:26.537 回答