2016-07-31 147 views
0

我有一個產品列表,其中包含需要從中提取屬性的未清晰描述。PostgreSQL:如果column1包含x,y或z將column2設置爲x,y或z

即:

'大(藍色)罐頂'

「配有西隧。 w ^短褲

需求,成爲:

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

可能變化的名單相當長。有沒有通過Postgres的一個方式說:

如果描述包含[藍,白,紅]顏色設定爲[返回發現顏色]

回答

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 
+1

「弗雷德裏克Wrathwhite的波瀾海豚」將匹配所有三個。 – NovaDenizen

+0

非常感謝。我會試一試。 –

+0

@NovaDenizen。 。 。事實上,它只會匹配「藍色」,因爲一個「案例」選擇了第一個匹配。對於OP來說這是一個值得評論的問題:當有多場比賽時,該怎麼辦。 –

相關問題