Ok. Now the function is OK.... CREATE OR REPLACE FUNCTION my_to_number(text,text) RETURNS numeric AS $$ BEGIN IF NOT textregexeq($1,'^[0-9]+$') THEN RAISE EXCEPTION 'TEXT % is not a valid NUMBER',$1; END IF; RETURN to_number($1,$2); END; $$ LANGUAGE PLPGSQL IMMUTABLE;
Tests... =# select my_to_number('123.0','999999'); ERRO: TEXT 123.0 is not a valid NUMBER =# select my_to_number('1230','999999'); my_to_number -------------- 1230 (1 registro) Tempo: 0,734 ms -- William Leite Araújo DBA - QualiConsult