Postgres si imbriquées dans le cas de la requête

Pourriez-vous dire pourquoi mon suivant ne fonctionne pas dans postgres sql?:

See updated code below

Mise à JOUR:

Je m'attends à la requête de retour "0.30" en tant que float.
Cette construction est seulement pour des fins de test, j'ai quelques complexes des requêtes sur qui dépendent de la condition de la structure... Mais je ne sais pas comment le résoudre..

Résultat est:

ERROR:  syntax error at or near "1"
LINE 4:     if 1=1 then

Mise à JOUR:

Cette construction apparaît dans une fonction... si je veux faire à la suite:

CREATE FUNCTION f_test(myvalue integer) RETURNS float AS $$
  BEGIN
    select (
      case (select '1')
      when '1' then
        if 1=1 then
          0.30::float
        else
          0.50::float
        end
      else
         1.00::float
      end
    );
  END;
$$ LANGUAGE plpgsql;

select f_test(1) as test;

Message d'erreur voir ci-dessus.

l'utilisation correcte de la langue, pas besoin de se servir de quelque chose au-delà de pg ici.
définir "ne fonctionne pas". Qu'avez-vous vous attendez, et de ce qui s'est réellement passé.
Qu'est-ce que la sortie réelle que vous attendez?
Mis à jour mon post.

OriginalL'auteur BvuRVKyUVlViVIc7 | 2010-11-16