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

Responder a