[pgsql-jp: 31462] Sybaseの isnull関数の代用の PostgreSQLの関数について

Ryuichiro Munechika ml @ niji-net.com
2003年 11月 14日 (金) 15:48:07 JST


 まいパパです
 ご無沙汰しております

 どうにも行き詰まってしまったので、皆様のお知恵を拝借いたしたく
どうかよろしくお願いしますm(__)m

  SybaseのT-SQLにisnull関数があります。

  isnull( TANISUU, 0 )

フィールドは初期値にnullが入っており、TANISUUフィールドに何か入っていれば
そのまま、nullが入っていれば0に置き換えるというような処理をしたいのですが
PostgreSQLには、isnull関数が無いようなので代替になるような関数が無いか
探しています。

 最終的には以下のようなT-SQLのステートメントを、PL/PgSQLに置き換えたい
のですが、なかなかうまくいきません。

    select
        r.KAMOKU_KBN, r.JOUI_KAMOKU_KBN, r.HITSUYOU_TANISUU, isnull( TANISU
U, 0 ),

        case
            when r.HITSUYOU_TANISUU = 0 then 0
            when r.HITSUYOU_TANISUU < isnull( t.TANISUU, 0 ) then
r.HITSUYOU_TANISUU
            else isnull( t.TANISUU, 0 )
        end,
        case
            when r.HITSUYOU_TANISUU = 0 then isnull( t.TANISUU, 0 )
            when r.HITSUYOU_TANISUU < isnull( t.TANISUU, 0 ) then isnull(
t.TANISUU, 0 ) - r.HITSUYOU_TANISUU
            else 0
        end
    from
        RISHUU_KITEI r,
        TANISUU t

 よろしくお願いいたします。


-- 
宗近龍一郎 大阪府寝屋川市在住
munetika @ niji-net.com
(ML用)ml @ niji-net.com




pgsql-jp メーリングリストの案内