Obrigado! Funcionou nas duas formas! Att.,
Thiago ----- Mensagem original ---- De: Wendel Muniz de Oliveira <[EMAIL PROTECTED]> Para: oracle_br@yahoogrupos.com.br Enviadas: Quinta-feira, 25 de Setembro de 2008 14:26:41 Assunto: Re: [oracle_br] Comando CASE com Select...campo tipo DATA oi Thiago, no lugar do case vc pode usar a instrucao DECODE o teu select fica mais limpo. SELECT OS.TERM_ID, COUNT(DECODE( TO_CHAR(TR. TSTAMP,'DD/ MM/YYYY') ,'01/05/2008' ,1,0)) "01" a sintaxe é a seguinte: decode(campo a ser analisado,valor possivel1,resultado 1,.....,valor possivelN,resultado N,resultado a ser mostrado se nenhuma das anteriores atender) 2008/9/25 Marcelo <[EMAIL PROTECTED] e.com.br> > SELECT OS.TERM_ID, > > COUNT(CASE WHEN TO_CHAR(TR.TSTAMP, 'DD/MM/YYYY' ) = '01/05/2008' THEN 1 ELSE > 0 > END) "01", > > Marcelo Alberto Lauschner > > Desenvolvimento de Sistemas > > Auto Pratense Ltda > > * - Fone: (0XX54) 3242-3620 > > * - Fax: (0XX54) 3242-3648 > > * - E-mail: <mailto:[EMAIL PROTECTED] e.com.br<marcelo%40autoprat ense.com. > br> > > > [EMAIL PROTECTED] e.com.br <marcelo%40autoprat ense.com. br> > > * - WWW: www.autopratense. com.br <http://www.autoprat ense.com. br/> > > _____ > > De: [EMAIL PROTECTED] os.com.br <oracle_br%40yahoog rupos.com. br> [mailto: > [EMAIL PROTECTED] os.com.br <oracle_br%40yahoog rupos.com. br>] Em > nome de Thiago > Enviada em: quinta-feira, 25 de setembro de 2008 12:12 > Para: [EMAIL PROTECTED] os.com.br <oracle_br%40yahoog rupos.com. br> > Assunto: [oracle_br] Comando CASE com Select...campo tipo DATA > > > Pessoas, > > Estou com uma dúvida sobre o comando CASE dentro do select. > Minha intenção no comando abaixo, é mostrar uma tabela com os IDs do lado > esquerdo (até aí tudo bem) e com várias colunas, cada uma com o número de > registros do dia correspondente, sendo cada coluna um dia do mês. Aí > embaixo > está o que eu tenho já...não coloquei a parte do FROM nem do WHERE, pois > minha dúvida está somente na parte de cima mesmo. > > Reparem que coloquei duas linhas do count com TO_CHAR e o restante com > TO_DATE. Tentei dessas duas formas, mas o oracle está retornando 0 linhas > para estes cases. > > Se vocês puderem me ajudar a tratar um dado do tipo DATA dentro do case, eu > agradeço. Realmente estou um pouco perdido. Caso haja alguma forma melhor > de > fazer isso (com um comando select), por favor me ajudem. Segue o comando > abaixo: > > SELECT PS.TERM_ID, > COUNT(CASE TO_CHAR(TR.TSTAMP) WHEN '01/05/2008' THEN 1 ELSE NULL END) "01", > COUNT(CASE TO_CHAR(TR.TSTAMP) WHEN '02/05/2008' THEN 1 ELSE NULL END) "02", > COUNT(CASE TR.TSTAMP WHEN TO_DATE('03/ 05/2008', 'dd/mm/yyyy' ) THEN 1 ELSE > NULL END) "03", > COUNT(CASE TR.TSTAMP WHEN TO_DATE('04/ 05/2008', 'dd/MM/yyyy' ) THEN 1 ELSE > NULL END) "04", > COUNT(CASE TR.TSTAMP WHEN TO_DATE('05/ 05/2008', 'dd/mm/YYYY' ) THEN 1 ELSE > NULL END) "05", > COUNT(CASE TR.TSTAMP WHEN TO_DATE('06/ 05/2008', 'dd/mm/YYYY' ) THEN 1 ELSE > NULL END) "06" > > Obrigado!! > > Thiago > > Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua > cara @ymail.com ou @rocketmail. com. > http://br.new. <http://br.new. mail.yahoo. com/addresses> > mail.yahoo.com/ addresses > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas] Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara @ymail.com ou @rocketmail.com. http://br.new.mail.yahoo.com/addresses [As partes desta mensagem que não continham texto foram removidas]