mysql - 如何仅向列添加特定值?

标签 mysql sql

如何确保它在已经获得值后只连接一个值? 例如消息中已经有文本“cat”,我如何让“dog”不包含?

SELECT name, message,

concat(

if(message like '%cat%', 'cat', ''),
if(message like '%dog%', 'dog', ''),
) as intent

FROM table;

最佳答案

使用CASE 表达式:

SELECT
    name,
    message,
    CASE WHEN message LIKE '%cat%' THEN 'cat'
         WHEN message LIKE '%dog%' THEN 'dog' END AS intent
FROM yourTable;

关于mysql - 如何仅向列添加特定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56337923/

相关文章:

mysql - MySQL 中何时使用单引号、双引号和反引号

php - "mysql_query() or die()"是否保持打开的 mysql 连接?

mysql - OUTFILE MySQL 不能与联合一起工作

sql - 如果丢失,PostgreSQL 使用前一行的值

mysql - SQL 从两个表中选择(用户有最大汽车)

javascript - PHP 不会发布值表

php - 使用 jQuery 和 PHP 从 MySQL 获取单个数值,并拒绝在 js 级别充当 int

mysql - 在 Node 循环中插入和选择不起作用

php - 如何使用php批量删除记录

单个查询中的 MySQL 加权平均值