在rails中使用postgres查询进行空或空字段检查

时间:2016-12-15 08:28:38

标签: ruby-on-rails postgresql

我试图在posgtres查询中检查两个条件,在我的表中,一个字段可能有两个值将为空或将是单引号('')所以我尝试了这个查询但它没有执行< / p>

CASE WHEN (items.item_code is NULL OR items.item_code = '') THEN
items.name::text ELSE items.item_code::text END as item_code

错误如:

  

PG ::错误:错误:语法错误在或附近“)”LINE 1:... HEN   (items.item_code为NULL OR items.item_code =)THEN ite ..

1 个答案:

答案 0 :(得分:1)

ruby​​中的引号有问题,而不是在sql语句中。 尝试改为:

CASE WHEN (items.item_code is NULL OR items.item_code = \'\') THEN
items.name::text ELSE items.item_code::text END as item_code

上面的代码执行与您相同的条件检查,但是使用引号的空格。我想你的意思应该像:

{{1}}