繁体   English   中英

如何仅将特定值添加到列?

[英]How to only add specific value to a column?

我如何确保一旦获得价值就只能合并一个价值? 例如,消息是否已包含文本“ 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;

您可以使用DISTINCT仅一次选择一个值,如下所示-

SELECT group_concat(DISTINCT N) 
FROM 
(
    select 'Dog' N UNION ALL
    SELECT 'CAT' UNION ALL
    SELECT 'CAT'
)A

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM