Postgres вложен, если в случае query

Не могли бы вы сказать, почему следующее не работает в postgres sql?:

See updated code below

ОБНОВЛЕНИЕ:

Я ожидаю, что запрос вернет «0,30» как float. Эта конструкция предназначена только для тестирования, у меня есть несколько сложных запросов, которые зависят от этой условной структуры ... НО, я не знаю, как это исправить ..

Результат:

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

ОБНОВЛЕНИЕ:

Эта конструкция появляется в функция ... поэтому я хочу сделать следующее:

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;

Сообщение об ошибке см. выше.

7
задан BvuRVKyUVlViVIc7 16 November 2010 в 20:01
поделиться