比较PostgreSQL中两个字段的文本

时间:2015-12-16 19:16:46

标签: postgresql string-comparison

我试图通过汽车经销商的名称判断一辆特定的汽车是否是他们的品牌。所以:

select car_make, dealer_name, 
case when ('%' || dealer_name || '%') ilike car_make THEN 'OnBrand'
END
from table

理想情况下,当使用制造日产和经销商名为Local Nissan经销商搜索汽车时,第三列将包含OnBrand,但它会返回

Nissan    Local Nissan Dealer    <null> 

2 个答案:

答案 0 :(得分:2)

你想要你的通配符,你想要:

case when dealer_name ilike ('%' || car_make || '%') THEN 'OnBrand'

答案 1 :(得分:1)

这并没有解决为什么你的特定语句不起作用(@ user的解决方案对我来说很好),但作为一种替代方法,可能更简单的语法,那么正则表达式呢?

select
  car_make, dealer_name, 
  case when dealer_name ~ car_make THEN 'OnBrand' end
from table