如何在Sql Server中使用IN caluse中的LIKE子句?

问题描述:

我想一起使用LIKE子句和IN子句。 e.g:目前我的查询 -如何在Sql Server中使用IN caluse中的LIKE子句?

SELECT 
    * 
FROM 
    [USER_DETAILS] 
WHERE 
    [NAME] LIKE 'Dev%' OR 
    [NAME] LIKE 'Deb%' OR 
    ...... 
    ...... 

如何使用IN子句来实现这一目标? 有人可以帮忙吗? :)

+3

我可能是错的,但我不认为这是可能的。 – NullUserException 2010-07-28 05:18:14

+0

您可以查看全文搜索。例如http://www.databasejournal.com/features/mssql/article.php/3441981/Full-Text-Search-on-SQL-2000-Part-1.htm。它不回答你的问题,但可以帮助你。 – Tobiasopdenbrouw 2010-07-28 06:33:37

将参数值放入表中,然后使用单个JOIN条件,例如

SELECT * 
    FROM [USER_DETAILS] AS U1 
     INNER JOIN Params AS P1 
      ON U1.[NAME] LIKE P1.param + '%'; 

同意NullUserException - 没有这样的语法。 “In”是谓语相同的“语法糖”。没有类似的其他操作,如>,<,所以你应该使用OR。