SQL 查询帮助 - LIKE 语句

Posted

技术标签:

【中文标题】SQL 查询帮助 - LIKE 语句【英文标题】:SQL Query Help - LIKE Statement 【发布时间】:2013-04-17 15:52:14 【问题描述】:
SELECT  Name
FROM    Names n
WHERE   EXISTS (SELECT NameIDs FROM NameList nl WHERE n.nameID LIKE '%'+nl.nameIDs);

我正在尝试查询此表,但它似乎只返回第一个值。名称列表是一个逗号分隔值单元格,可以出现多次。

我想知道是否有人可以提供帮助。

【问题讨论】:

【参考方案1】:

如果它的逗号分隔,那么您也需要在 nl.nameIDs 后面加上通配符 %,因为该值可以出现在逗号分隔字符串中间的任何位置。

SELECT  Name
FROM    Names n
WHERE   EXISTS (SELECT NameIDs FROM NameList nl WHERE n.nameID LIKE '%'+nl.nameIDs+'%');

【讨论】:

【参考方案2】:

我认为你的比较倒过来了。试试这个:

SELECT  Name
FROM    Names n
WHERE   EXISTS (SELECT NameIDs FROM NameList nl WHERE ','+nl.nameIDS+',' like '%,'+n.nameID+',%' 

【讨论】:

以上是关于SQL 查询帮助 - LIKE 语句的主要内容,如果未能解决你的问题,请参考以下文章

sql语句中条件查询里in、like、及=三个的效率怎么样?

C#中 SQL语句 带参数的like 查询怎么写

MySQL查询like语句查询

ORACLE模糊查询语句 当条件为 like %(% 或者like %)%时 结果为全查吗

sql语句中like的用法详细解析

如何在数据库里 用like语句查询成语 !