[pgsql-jp: 31558] sql関数の戻り値について

yusaku matsuda yumatuda @ msoft.co.jp
2003年 11月 21日 (金) 11:40:54 JST


お世話になっております、エムソフトの松田と申します。

非常に単純なsql関数なのですが、
少し、不可解な現象が起きています。

CREATE FUNCTION getRitsu(varchar) RETURNS numeric
AS '
  select
    COALESCE(ritsu,100)
  from table
  where CD = $1'
LANGUAGE 'sql';

CREATE

select getRitsu('存在するデータ');
 getRitsu
------------
 150
(1 row)

select getRitsu('ありえないデータ');
 getRitsu
------------

(1 row)

上記のありえないデータでSELECTした例で、
私は100が返ってくる事を期待していたのですが、
なぜか何も返ってきません。COALESCEをCASEに置き換えても
同じでした。

なぜなのでしょうか?宜しければご教授お願い致します。



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