0

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%')

Wherewith句に同じ列名を何度も書くのは現実的ではありません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 を使用して複数のクエリを 1 つに結合することもできます

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 に答える