This is probably obvious but I am not seeing what is going wrong with this function definition:

CREATE OR REPLACE FUNCTION "public"."cproc_hli" (bgtemp NUMERIC, humidity NUMERIC, wspeed NUMERIC) RETURNS NUMERIC AS
IF ($1 < 25)
THEN
SELECT (10.66 * (0.28 * $2)+(1.3 * $1) - $3)
ELSE
SELECT (8.62 * (0.38 * $2) + (1.55 * $1) - (0.5 * $3) + (exp(- $3 + 2.4)))
END IF
LANGUAGE 'plpgsql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER;

ERROR:  syntax error at or near "IF" at character 119
LINE 2: IF ($1 < 25)

I have tried with dollar quoting around the function body, changing the maguage to sql and using CASE ... WHEN instead of IF , tried Brackets and no brackets around the Boolean expression.. and a number of other variations, as well as rereading the Documentation.

I have also tried not having aliases/names for the arguments.

In every case I always get the syntax error directly after "AS".

Can somebody point what is probably obvious.

Cheers
Johan Wehtje

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to