-2

我正在尝试解析结果

表结构

第 1 栏 | 第 2 栏
一个 | if_AT_N
乙| if_ET_n       
C | if_AT_n

我想要做的是如果存在“_AT”,则用“是”替换第 2 列结果,如果存在 _ET,则用“否”替换

结果集的目标看起来像

一个 | 不
乙| 是的
c | 不
4

1 回答 1

1

您的陈述与您想要的输出不匹配。您可以交换符合您需要的YES和的值。NO

SELECT  Column1,
        IF(Column2 LIKE '%\_AT\_%', 'NO', 'YES') Result
FROM    TableName

输出

╔═════════╦════════╗
║ COLUMN1 ║ RESULT ║
╠═════════╬════════╣
║ A       ║ NO     ║
║ B       ║ YES    ║
║ C       ║ NO     ║
╚═════════╩════════╝

上面的查询只做投影。这意味着表中没有修改。如果要修改表的值,需要使用UPDATE语句。

UPDATE TableName
SET   Column2 = IF(Column2 LIKE '%\_AT\_%', 'NO', 'YES')
于 2013-04-05T17:07:13.023 回答