2009/7/27 sergio nogueira <[email protected]>: > Decidi usar o smallint (sem plics, no ano): > > IF ( date_part('year', NEW.data::timestamp)::smallint = 2006::smallint ) > THEN > > Funciona no 8.2 e 8.4 > > Ainda não entendo porque uma função - date_part() - retorna um double > (float8) e não um text. ou integer ou smallint. quando o valor esperado deve > ser, pelo menos, um integer (smallint) ... Inclusive porque um timestamo é > um text 'ano-mes-dia hora:minuto:segundo' ...
O resultado sempre será numérico. Na maioria dos casos o resultado é um inteiro mas, pelo menos para um caso, pode ser um número real: SELECT EXTRACT(SECOND FROM TIME '17:12:28.5'); Result: 28.5 http://www.postgresql.org/docs/current/interactive/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT > > Tá na mão do sinhô no que esta transformação pode resultar (de float8 para > smallint). Mas eu teho fé. > Para seuvcaso (ano) sempre estará certo. Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
