Thread: Invalid syntax for integer

Invalid syntax for integer

From
Rehan Saleem
Date:
hi ,

what is wrong with this if statement in this function

if distance ='' THEN
    distance := 1;
    end if;
here distance variable is of type integer , this function has been created successfully but when i execute this function it gives me this error ,

ERROR:  invalid input syntax for integer: ""
LINE 1: SELECT distance =''
                                ^
QUERY:  SELECT distance =''
CONTEXT:  PL/pgSQL function "getsitesbytfid" line 6 at IF

********** Error **********

ERROR: invalid input syntax for integer: ""
SQL state: 22P02
Context: PL/pgSQL function "getsitesbytfid" line 6 at IF


Re: Invalid syntax for integer

From
"David Johnston"
Date:
>>>>>>>>  From: pgsql-sql-owner@postgresql.org
[mailto:pgsql-sql-owner@postgresql.org] On Behalf Of Rehan Saleem
Sent: Tuesday, March 13, 2012 2:26 PM
To: pgsql-sql@postgresql.org
Subject: [SQL] Invalid syntax for integer

hi ,

what is wrong with this if statement in this function

if distance ='' THEN
    distance := 1;
    end if;
here distance variable is of type integer , this function has been created
successfully but when i execute this function it gives me this error ,

ERROR:  invalid input syntax for integer: ""
LINE 1: SELECT distance =''
                                ^
QUERY:  SELECT distance =''
CONTEXT:  PL/pgSQL function "getsitesbytfid" line 6 at IF

********** Error **********

ERROR: invalid input syntax for integer: ""
SQL state: 22P02
Context: PL/pgSQL function "getsitesbytfid" line 6 at IF

========================================================================

The empty-string is not a valid syntax for an integer.

You probably want:  “IF (distance IS NULL) …”.

David J.