[pgsql-jp: 32985] SQL(case句)の微妙な仕様

Mashiki mashiki @ yanah.com
2004年 5月 25日 (火) 10:46:13 JST


mashikiです。

7.2.2と7.4.2で確認していますが、以下のSQLは
SQL1がOKでSQL2がNGとなります。何故でしょうか?

/* SQL1: OK */
select case when 0=0 then 0 else 0/0 end;

/* SQL2: NG */
select case when 0>0 then 0/0 else 0 end;


ちなみに以下はOKです。

create table tab1(col1 float, col2 float);
insert into  tab1(col1, col2) values(100,100);
insert into  tab1(col1, col2) values(50, 100);
insert into  tab1(col1, col2) values(0,  100);
insert into  tab1(col1, col2) values(0,    0);

/* SQL OK */
select col1, col2, 
       case when col2>0 then col1/col2 else 0 end as rate 
from tab1;



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