Не могли бы вы сказать, почему в 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;
Сообщение об ошибке см. Выше.