2

我有一个问题,我猜是否有更好的方法来实现我的目标。我在 Mysql 中有这个查询来检索一些行:

SELECT *
FROM table
WHERE field IN ('V','S','G','B')

我想做的是运行一个查询来检索字段具有值的行,如 IN 列表中的那些。我知道最简单的方法是使用这个查询:

SELECT *
FROM table
WHERE field LIKE '%V%' OR field LIKE '%S%' OR
      field LIKE '%G%' OR field LIKE '%B%'

我想知道的是有一个运算符可以执行此操作,或者至少,如果该运算符不存在,那么是编写查询的更好方法。

感谢所有会帮助我的人。

4

1 回答 1

1

将值放在表中 ( Params) 然后使用

SELECT *
  FROM table
 WHERE EXISTS (
               SELECT * 
                 FROM Params
                WHERE table.field LIKE '%' + Params.col + '%'
              );

还考虑将通配符放入Params表中的值中。

于 2011-10-13T10:29:04.750 回答