MySQL IF替换两个字符串

时间:2011-05-06 18:42:36

标签: mysql sql

Grandfathered Database,我见过的最糟糕的非正常表格数据。因此,查询会变得很痛苦。

我正在尝试匹配以查看该字段是否不是这两个字符串中的任何一个。我已经用Google搜索了我的屁股并且REGEXP函数并不是那么好。

IF (SUBSTRING_INDEX(op.field_name, '-', 1) != ('CAT','DOG'),
    ps.products_productline ,SUBSTRING_INDEX(op.fieldname, '-',
    1)) AS product_type

子字符串索引是Cat,Dog或Unique字符串。

1 个答案:

答案 0 :(得分:1)

Case
When SUBSTRING_INDEX(op.field_name, '-', 1) Not In('CAT','DOG') Then ps.products_productline
Else SUBSTRING_INDEX(op.fieldname, '-', 1)
End AS product_type

另一种解决方案

Case
When op.field_name Like 'CAT-%' Then 'CAT'
When op.field_name Like 'DOG-%' Then 'DOG'
Else ps.products_productline
End AS product_type