Could you tell me why the following does not work in postgres sql ?:
See updated code below
UPDATE:
I expect the request to return "0.30" as a float. This design is for testing purposes only, I have some complex queries that depend on this conditional structure ... BUt I do not know how to fix it ..
Result:
ERROR: syntax error at or near "1" LINE 4: if 1=1 then
UPDATE:
This construct appears in the function ... so I want to do the following:
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;
Error message see above.
sql postgresql if-statement case
Lichtamberg
source share