Il n'y a pas de résultat IF expr THEN result ELSE result END syntaxe pour les requêtes SQL normales dans Postgres. Comme il n'y a ni IF() fonctionnent comme dans MySQL, vous devez utiliser CASE :
select (
case (select '1')
when '1' then
case when 1=1 then 0.30::float else 0.50::float end
else
1.00::float
end
);