PostgreSQL:如果column1包含x,y或z,则将column2设置为x,y或z

时间:2016-07-31 19:59:14

标签: postgresql

我有一个带有未清理描述的产品列表,我需要从中提取属性。

即:

'大(蓝色)背心'

医生。 W短裤'

需要成为:

size   color   style     gender
large  Blue    Tank top
Medium White   Shorts    women's
 

可能的变化列表相当长。有没有办法通过postgres说:

如果说明包含[蓝色,白色,红色],请将颜色设置为[返回找到的颜色]

1 个答案:

答案 0 :(得分:1)

有多种方法。最直接的是使用case

select (case when description like '%blue%' then 'blue'
             when description like '%white%' then 'white'
             when description like '%red%' then 'red'
        end) as color