none
Usando ISNULL em data RRS feed

  • Pergunta

  • Boa tarde a todos,

    Estou com o seguinte problema: tenho um relatório que traz várias informações, e uma delas é a data do último faturamento, estou utilizando o seguinte código para trazer essa informação: 

    isnull(CONVERT(datetime,(MAX(C6_DATFAT)),103),0)ULT_FATURAMENTO,

    O problema é que quando não existe faturamento ele me traz o campo com os valores 01/01/1900 00:00:00, gostaria que ele trouxesse em branco ou então 00/00/0000. Tentei utilizar o Isnull mas não deu adiantou. Alguém sabe como fazer isso?

    Grato, desde já.

    quinta-feira, 31 de maio de 2012 17:13

Respostas

  • Gilberto,

    Veja se te ajuda:

    declare @C6_DATFAT smalldatetime set dateformat ymd set @C6_DATFAT = NULL --set @C6_DATFAT = GETDATE() select ISNULL(CONVERT(VARCHAR, CONVERT(datetime,(MAX(@C6_DATFAT)),103),103),'00/00/0000')

    --com Hora

    select ISNULL(CONVERT(VARCHAR, CONVERT(datetime,(MAX(@C6_DATFAT)),103),121),'00/00/0000')


    At.
    Rafael


    • Editado Rafael S. Melo quinta-feira, 31 de maio de 2012 19:37 adionado um exemplo com hora
    • Sugerido como Resposta Heloisa Pires terça-feira, 5 de junho de 2012 15:12
    • Marcado como Resposta Heloisa Pires sexta-feira, 8 de junho de 2012 14:39
    quinta-feira, 31 de maio de 2012 19:35

Todas as Respostas

  • Gilberto,

    Isso acontece porque você está tentando converter a data para um número inteiro (0). Que tipo de relatório recebe esse relatório? Como o campo é mapeado nele?


    []'s
    Philipe Souza
    E-mail: Philipe.s.souza@hotmail.com

    quinta-feira, 31 de maio de 2012 18:32
  • Philipe Souza Obrigado por responder,

    Não entendi sua pergunta. O campo esta no banco de dados do tipo VARCHAR(8), no relatório de saída aparece da seguinte forma dd/mm/aaaa. É isso que você queria perguntar?

    quinta-feira, 31 de maio de 2012 18:50
  • Gilberto,

    Veja se te ajuda:

    declare @C6_DATFAT smalldatetime set dateformat ymd set @C6_DATFAT = NULL --set @C6_DATFAT = GETDATE() select ISNULL(CONVERT(VARCHAR, CONVERT(datetime,(MAX(@C6_DATFAT)),103),103),'00/00/0000')

    --com Hora

    select ISNULL(CONVERT(VARCHAR, CONVERT(datetime,(MAX(@C6_DATFAT)),103),121),'00/00/0000')


    At.
    Rafael


    • Editado Rafael S. Melo quinta-feira, 31 de maio de 2012 19:37 adionado um exemplo com hora
    • Sugerido como Resposta Heloisa Pires terça-feira, 5 de junho de 2012 15:12
    • Marcado como Resposta Heloisa Pires sexta-feira, 8 de junho de 2012 14:39
    quinta-feira, 31 de maio de 2012 19:35