[firebase-br] RES: Campo NULL Primeiro

Eduardo Bahiense eduardo em icontroller.com.br
Seg Out 27 01:17:59 -03 2008


Oi Zé

É como eu falei, desculpe a brincadeira.

É que em um ambiente cooperativo como esta lista, espera-se que as 
pessoas troquem experiências e informações, e a sua frase "Eu já 
resolvi, mas queria saber qual o modo mais eficiente para isso.", não 
está bem de acordo com essa filosofia, parecendo que você não queria nos 
dizer sua "gambiarra", embora eu tenha certeza que sua intenção não 
tenha sido de não trocar experiências aqui. Foi só uma brincadeira 
mesmo, me desculpe novamente, mas não faça isso de novo (rs).

Bem, quanto à sua questão, você deve se certificar que as datas estão 
NULL mesmo ou ZERO, que dá uma data do tipo '30-12-1899' (ou algo 
parecido).

Se estiverem NULL, "NULLS FIRST" deveria funcionar e seria o melhor 
caminho. Se não funcionar -> reporte o bug.

Para se certificar, faça um SELECT * FROM TABELA WHERE CAMPO_DATA IS 
NULL e WHERE CAMPO_DATA < '01.01.1900' e veja o que vem.

Agora, se você usar COALESCE com NULLS FIRST, também fica um pouco 
incoerente. O CAST também não entendi, o campo não é DATE?

Talvez se você nos disser mais sobre a estrutura da tabela e como está a 
query, possamos te ajudar mais.

Agora, falar mal do SBT é sacanagem, assisto todos os dias o Jornal do 
SBT e a novela Pantanal e acho muito legal, mas também não vamos brigar 
por causa disso.


Abração


Eduardo

Tiago de Assis Pimenta escreveu:
> Nossa cara, nada a ver isso que vc falou, e muito menos o que o Henrique
> falou, eu somente falei que tinha resolvido, para falar que não era tão
> urgente assim, que eu já tinha achado uma maneira para fazer, mas tinha
> certeza que não era a melhor das opções, por isso vim aqui perguntar como
> vc's fariam, para ver qual a melhor maneira.
> 
> Como falaram, vou tentar o nulls first , pois tentei com null first e não
> deu certo.
> 
> Coloquei primeiro coalesce, mas como falei, ele formatou as datas que tinham
> preenchimento como 2008-10-27.
> 
> Daí o que eu tive que fazer, usar o cast para definir o campo como data, e
> depois o coalesce. Daí sim veio do jeito que eu queria. Mas eu sei que foi
> gambiarra. Uma função dentro da outra Cast(Coalesce()). E tudo isso no
> select. Não tentei fazer o coalesce no order by (Vou tentar também isso
> depois).
> 
> Bom era isso, agora se pareceu que eu estava sendo sencionalista, me
> desculpe, mas nada a ver, vc's tem que parar de assistir SBT viu :)
> 
> Abraços.
> 
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
> nome de Eduardo Bahiense
> Enviada em: domingo, 26 de outubro de 2008 21:44
> Para: lista em firebase.com.br
> Assunto: Re: [firebase-br] Campo NULL Primeiro
> 
>> OBS.: Eu já resolvi, mas queria saber qual o modo mais eficiente para
> isso.
> 
> Essa é muito boa em um ambiente cooperativo !
> 
> Eu gostaria muito de saber sobre isso, mas sem me expor!
> 
> Então, se você me contar como você fez eu conto como eu faria.
> 
> Desculpe a brincadeira,
> 
> 
> Eduardo
> 
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista