2010/1/20 flavio <[email protected]>: > Srs como fazer para testar se a funcao chamada recebeu os valores > definidos como date? > Esta dando erro de bad date no if > > funcao: > > CREATE OR REPLACE FUNCTION f_gera_fatura(date,date) returns text as ' > > DECLARE > a_data_ini alias for $1; > a_data_fim alias for $2; > > BEGIN > > IF (a_data_ini = '''' or a_data_ini IS NULL)
Se você está declarando o parâmetro como sendo do tipo "date" ele nunca será um string vazio. > THEN > -- exige a data de inicio senão sai da funcao > texto_ret:= ''Especifique a data inicio''; > RETURN texto_ret; > END IF; > > IF (a_data_fim = '''' or a_data_fim IS NULL) idem > THEN > -- exige a data fim senão sai da funcao > texto_ret:= ''Especifique a data fim''; > RETURN texto_ret; > END IF; > ... Verifique se o parâmetro deve ser realmente do tipo "date" ou um texto contendo a representação de uma data (que poderá ser convertida para o tipo "date") [1]. Osvaldo [1] http://www.postgresql.org/docs/current/interactive/datatype-datetime.html _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
