アプリ版:「スタンプのみでお礼する」機能のリリースについて

DBFluteについて質問です。
環境:PostgreSQL
java8
前提:webアプリケーションの制作。外だしSQLの記載について。
やりたいこと:画面データとテーブルデータを使った条件分岐。テーブルデータがNULLの場合は画面データを参照せずにSQLを終了する。

テーブルデータがNULLではない場合は

/*BEGIN*/
where

/* IF pm.aaaa !=null */
AND テーブルデータ >= /* pm.aaaa */3
/*END*/

のような処理がしたいです。言われた通りに書けば良いだけなのは重々承知しているのですが、テーブルデータの有無を

IF テーブルデータ !=NULL THEN
/* IF pm.aaaa !=null */
AND テーブルデータ >= /* pm.aaaa */3
/*END*/
IF END

と、書くとエラーになりますし、

/* IF テーブルデータ !=NULL && pm.aaaa !=null */
AND テーブルデータ >= /* pm.aaaa */3
/*END*/

と、書くとビルドは上手くいくのですが、実行すると上記部分でエラーとなります。
何処が間違っているのかは分かるのですが、どう処理すれば良いのか全く理解できません。わかりづらくて大変申し訳ないのですが、御教授頂ければ幸いです。

A 回答 (1件)

私の今、使ってるDBはSQLserverで畑違いなのですが


nullは「=」じゃなくて「is」を使うのでは?
あと数値項目はnullを置き換えるcoalesce(項目,0)とかにしてみても良いかも
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!