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

Ant*_*ony 2 mysql sql contains subquery

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

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

基本查询如下所示:

SELECT
    id,<...>,name
FROM
    table
Run Code Online (Sandbox Code Playgroud)

在<...>区域,我想要的东西相当于:

`emailList` contains @input ? "Yes" : "No"
Run Code Online (Sandbox Code Playgroud)

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

Joh*_*nde 8

用途IF():

SELECT
    id,
    IF(emailList LIKE '%string%', 'Yes', 'No') AS OnEmailList,
    name
FROM
    table
Run Code Online (Sandbox Code Playgroud)

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

  • 呃!谢谢。我发誓我寻找了所有东西,除了有史以来最明显的编程结构。 (2认同)