[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 メーリングリストの案内