Se for pensar, a função CEIL não vai adiantar. Se aplicar nas 6 datas do exemplo do Marcos, com os resultados desejados, já da pra perceber o problema.
Em relação ao exemplo do ROUND, também vai dar problema caso o numero de horas restantes pra completar um dia, depois da subtração, seja igual ou maior do que 12 horas (metade de um dia)... Tudo isso pensando no resultado como um todo e não somente no exemplo de ter entrada e saída no mesmo dia... Acho que uma forma de resolver por completo esse problema seja usando trunc nas datas antes de fazer a diferença, e depois somar mais um. Ou outras variações como somar mais um à data de saída antes de fazer a diferença. with tabela as ( select to_date('01/02/2012 07:00:00','dd/mm/yyyy hh24:mi:ss') data_entrada, to_date('03/02/2012 12:20:00','dd/mm/yyyy hh24:mi:ss') data_saida, 3 nr_esperado from dual union all select to_date('03/02/2012 12:20:01','dd/mm/yyyy hh24:mi:ss'), to_date('04/02/2012 09:10:00','dd/mm/yyyy hh24:mi:ss'), 2 from dual union all select to_date('04/02/2012 09:10:00','dd/mm/yyyy hh24:mi:ss'), to_date('04/02/2012 16:20:00','dd/mm/yyyy hh24:mi:ss'), 1 from dual) select nr_esperado, trunc(data_saida+1) - trunc(data_entrada) nr_obtido from tabela; NR_ESPERADO NR_OBTIDO ---------------------- ---------------------- 3 3 2 2 1 1 Ricardo Hideyuki Tajiri LaRCom - FEEC - UNICAMP Em 24 de fevereiro de 2012 11:56, CLEYDSON BORGES <cleydsonbsan...@gmail.com > escreveu: > ** > > > Verdade Milton! Acabei esquecendo desse detalhe. Usando a Função Ceil > funciona direitinho. > > SELECT > CEIL(TO_DATE('04/02/2012 23:20:00','DD/MM/YYYY HH24:MI:SS')- > TO_DATE('04/02/2012 09:10:00','DD/MM/YYYY HH24:MI:SS')) RESULT > FROM DUAL > > Abraço. > > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ -------------------------------------------------------------------------------------------------------------------------- >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira >responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -------------------------------------------------------------------------------------------------------------------------- >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » >Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: >http://www.oraclebr.com.br/ ------------------------------------------------------------------------------------------------------------------------ Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ <*> Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html