2016-12-15 4 views
1

私のテーブル内でposgtresクエリで大文字と小文字の2つの条件をチェックしようとしていますが、1つのフィールドに空白または一重引用符( '')このクエリをしようとしたが、それは次のように空であるかヌルフィールドチェックでレールでpostgresクエリ

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

エラーを実行しませんでした:あなたはルビーではなく、SQL文で引用符に問題がある

PG::Error: ERROR: syntax error at or near ")" LINE 1: ...HEN (items.item_code is NULL OR items.item_code =) THEN ite..

+1

"空白または一重引用符"は、NULLまたは空の文字列を意味しますか?一重引用符はまったく別物なので、 – sagi

+1

"実行しませんでした";エラーは何ですか? – Marth

+0

PG :: Errorのようなエラー:ERROR:構文エラー、またはその近く) " LINE 1:... HEN(items.item_codeはNULL OR items.item_code =)THEN ite ... – amtest

答えて

1

。 に変更してみてください:

CASE 
    WHEN (coalesce(length(items.item_code),0) + length(items.item_code)) < 1 
    THEN items.name::text ELSE items.item_code::text 
END as item_code 

上記のコードは、あなた、引用符を使用してブタのボイドと同じ条件のチェックを行います。私はあなたのようなスムーズでなければならないと思います:

+0

その2番目の1つはうまく動作する、それは引用符の問題だった、ありがとう – amtest

関連する問題