SELECT LP.*, FL.NOME AS NM_FILIAL, HS.HISTORICO AS NM_OCORRENCIA, (CASE WHEN LP.DT_LANCAMENTO> '07-19-2006' THEN SUBSTR(LP.OPERADOR, 4, 15) ELSE SUBSTR(LP.OPERADOR, 1, 15) END) AS NM_OPERADOR FROM STWCOLTLANP LP LEFT JOIN STWOPETFIL FL ON (LP.FIL_LANCAMENTO = FL.FILIAL) LEFT JOIN STWCOLTHIS HS ON (LP.OCORRENCIA = HS.CODIGO) WHERE LP.DT_LANCAMENTO IS NOT NULL
Sds. ________________________________ To: delphi-br@yahoogrupos.com.br From: [EMAIL PROTECTED] Date: Wed, 28 Nov 2007 13:09:29 +0000 Subject: RE: [delphi-br] Off - Case When com Datas no FB Faz um teste com o SQL a seguir: Sds. To: [EMAIL PROTECTED]: [EMAIL PROTECTED]: Wed, 28 Nov 2007 09:16:04 -0200Subject: Re: [delphi-br] Off - Case When com Datas no FB Pode ser que esteja retornando alguma data nula, utilize a função COALESCE----- Original Message ----- From: Adriano Santos (Yahoo) To: Delphi-br Sent: Wednesday, November 28, 2007 9:11 AMSubject: [delphi-br] Off - Case When com Datas no FBGalera,Tô com uma dúvida básica aqui: preciso fazer um case when numa data no Firebird 1.5 ou superior, não sei nem se funciona.Na verdade não dá erro, mas não retorna corretamente os dados. Pra resumir preciso copiar parte da string de um campo se a data for inferior a 01/07/2007. Por exemplo:DATA..............OPERADOR01/01/2007.......ODAIR12/10/2007.......ODAIR13/08/2007.......DG-ADRIANOSe for menor que 01/07/2007 copia do inicio até o fim, retornando ODAIR. Se for superior a esta data copia do caracter depois do traço pra frente ficando ADRIANO.O resultado tem que ser este.DATA..............OPERADOR01/01/2007.......ODAIR12/10/2007.......ODAIR13/08/2007.......ADRIANOFiz a select abaixo, não dá erro, mas tb não respeita o CASE WHEN.VlwSELECTLP.*, FL.NOME AS NM_FILIAL, HS.HISTORICO AS NM_OCORRENCIA,(CASEWHEN LP.DT_LANCAMENTO < '07-19-2006' THEN SUBSTR(LP.OPERADOR, 1, 15)WHEN LP.DT_LANCAMENTO> '07-19-2006' THEN SUBSTR(LP.OPERADOR, 4, 15)END) AS NM_OPERADORFROMSTWCOLTLANP LPLEFT JOIN STWOPETFIL FLON (LP.FIL_LANCAMENTO = FL.FILIAL)LEFT JOIN STWCOLTHIS HSON (LP.OCORRENCIA = HS.CODIGO)-- Adriano Santos----------------------------------------------------------Editor Técnico Revista ClubeDelphiwww.delphitodelphi.blogspot.comwww.devmedia.com.brwww.devmedia.com.br/clubedelphi/pagina.asp[As partes desta mensagem que não continham texto foram removidas] __________________________________________________________ Veja mapas e encontre as melhores rotas para fugir do trânsito com o Live Search Maps! http://www.livemaps.com.br/index.aspx?tr=true [As partes desta mensagem que não continham texto foram removidas] _________________________________________________________________ Receba GRÁTIS as mensagens do Messenger no seu celular quando você estiver offline. Conheça o MSN Mobile! http://mobile.live.com/signup/signup2.aspx?lc=pt-br