Lourenco Bueno escreveu: > Fala galera, tudo bom? > > estou trabalhando com postgres, tenho duas datas e queria saber a > diferença entre elas em horas! > > tentei com duas datas de exemplo.. > > select to_timestamp('1410071808', 'ddmmyyhh24mi') - > to_timestamp('1308071105', 'ddmmyyhh24mi') > > mas ele me retorna assim... > 62 days 07:03:00 > > eu queria em horas mesmo! > e eu não sei como converter isso que ele me traz no que preciso, e nem > como fazer ele retornar no formato que quero..
No momento só desenvolvendo uma função. Na lista TODO consta esta questão mas não está prevista para a próxima versão. Veja "functions" em: http://www.postgresql.org/docs/faqs.TODO.html > > tentei colocar um to_char( tudo_aquilo, 'mi' ) mas ele retorna só a > diferença dos minutos, também não funciona.. > > queria resolver isso na própria consulta... > > alguem pode me ajudar? > Algo do tipo: bdteste=# SELECT extract(day from (to_timestamp('1410071808', 'ddmmyyhh24mi') - to_timestamp('1308071105', 'ddmmyyhh24mi')))*24 + extract(hour from (to_timestamp('1410071808', 'ddmmyyhh24mi') - to_timestamp('1308071105', 'ddmmyyhh24mi'))); ?column? ---------- 1495 (1 registro) Obviamente, como falei acima, uma função ficará melhor. > outra coisa, li na documentação que não rola usar o to_char porque vai > ser desativado.. ?? Tem certeza ?? Veja: http://www.postgresql.org/docs/8.2/interactive/functions-formatting.html Talvez você tenha lido no manual da versão 8.0: "Warning: to_char(interval, text) is deprecated and should not be used in newly-written code. It will be removed in the next version." mas nas release notes da versão 8.1 consta: "The 8.0 release announced that the to_char() function for intervals would be removed in 8.1. However, since no better API has been suggested, to_char(interval) has been enhanced in 8.1 and will remain in the server." E repare que se aplicaria apenas a "interval" e não a "date" ou "timestamp". > e agora? como trago a data formatada do jeito que eu quero? > 1. SET DATESTYLE http://www.postgresql.org/docs/8.2/interactive/sql-set.html 2. Alterar o DATESTYLE no postgresql.conf http://www.postgresql.org/docs/8.2/interactive/runtime-config-client.html#RUNTIME-CONFIG-CLIENT-FORMAT 3. Usar to_char() Osvaldo _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral