如果另一个字段包含字符串,则在mysql子选择中返回true或false

时间:2013-04-25 23:53:14

标签: mysql sql contains subquery

如果表中的特定字段包含子字符串,我试图将值true或false(或yes / no等)作为select的一部分返回。

  1. 选择ID,姓名以及是否订阅了某人。
  2. 名为emailList的字段具有逗号分隔的名称列表,应该用于检查请求者是否已订阅。子字符串搜索的结果应该在另一个字段中产生true / false值。

  3. 基本查询如下所示:

    SELECT
        id,<...>,name
    FROM
        table
    

    在&lt; ...&gt;中区域,我想要的东西相当于:

    `emailList` contains @input ? "Yes" : "No"
    

    我无法弄清楚如何做到这一点来挽救我的生命。我猜它可以通过其他方式完成,但这似乎是一个很好的学习机会。有什么建议吗?

1 个答案:

答案 0 :(得分:8)

使用IF()

SELECT
    id,
    IF(emailList LIKE '%string%', 'Yes', 'No') AS OnEmailList,
    name
FROM
    table

只需将“string”替换为您要查找的搜索词或您选择的服务器端编程语言中的变量。