mysql根据列结果返回结果

时间:2013-04-05 17:04:42

标签: mysql

我正在尝试解析结果

表格结构

Column 1  | Column 2
A         | if_AT_N 
B         | if_ET_n       
C         | if_AT_n

我要做的是将第2列结果替换为“是”,如果“_AT存在则”并且“如果_ET存在则为”

结果集的目标看起来像

A | No
B | Yes
c | NO

1 个答案:

答案 0 :(得分:1)

您的陈述与您想要的输出不符。您可以互换符合您需求的YESNO值。

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')