none
ajuda com valor nulo RRS feed

  • Pergunta

  • Boa noite a todos!

    prezados na Sql eu tenha duas colunas;

    SQL


    SELECT
    F.GARANTIAHORAS                          AS 'GARANTIA HORAS',
    F.GARANTIADIAS                           AS 'GARANTIA DIAS'

    FROM OFOBJOFICINA AS O (NOLOCK)
    INNER JOIN OFOBJOFICINACOMPL AS F (NOLOCK) ON F.CODCOLIGADA = O.CODCOLIGADA AND F.IDOBJOF = O.IDOBJOF
    INNER JOIN OFTIPOOBJ   AS T (NOLOCK) ON T.IDTIPOOBJ = O.IDTIPOOBJ
    INNER JOIN OFSTATUSEQP AS S (NOLOCK) ON S.CODCOLIGADA = O.CODCOLIGADA AND S.CODSTATUS = O.STATUS
     WHERE O.IDTIPOOBJ NOT IN ('11','12','21','22')

    Resultado

    NULL 30
    200   NULL
    200   NULL
    NULL 30
    NULL 30

    eu preciso que nessas colunas aonde tiver NULL eu preciso que venha conforme a abaixo

    Resultado esperado

      -      30
    200     -
    200     -
      -       30
      -      30

    Obrigado a todos pela ajuda

    sexta-feira, 9 de novembro de 2012 00:41

Respostas

  • Boa noite,

    Seria talvez mais fácil fazer este tratamento do null na aplicação.

    Acho que na query será necessário converter o valor para varchar ou semelhante. Ex:

    case when F.GARANTIAHORAS is null 
        then '-'
        else cast(F.GARANTIAHORAS as varchar(12))
    end AS 'GARANTIA HORAS',
    case when F.GARANTIADIAS is null
        then '-'
        else cast(F.GARANTIADIAS as varchar(12))
    end AS 'GARANTIA DIAS'

    Espero que ajude.


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta Ronnie Von sexta-feira, 9 de novembro de 2012 01:14
    sexta-feira, 9 de novembro de 2012 01:04

Todas as Respostas

  • Boa noite,

    Seria talvez mais fácil fazer este tratamento do null na aplicação.

    Acho que na query será necessário converter o valor para varchar ou semelhante. Ex:

    case when F.GARANTIAHORAS is null 
        then '-'
        else cast(F.GARANTIAHORAS as varchar(12))
    end AS 'GARANTIA HORAS',
    case when F.GARANTIADIAS is null
        then '-'
        else cast(F.GARANTIADIAS as varchar(12))
    end AS 'GARANTIA DIAS'

    Espero que ajude.


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta Ronnie Von sexta-feira, 9 de novembro de 2012 01:14
    sexta-feira, 9 de novembro de 2012 01:04
  • Obrigado novamente pela ajuda.

    sexta-feira, 9 de novembro de 2012 01:15
  • ou também pode ser feito dessa forma:

    ISNULL(CONVERT(VARCHAR,F.GARANTIAHORAS),'-') AS 'GARANTIA HORAS',
    ISNULL(CONVERT(VARCHAR,F.GARANTIADIAS,'-')AS 'GARANTIA DIAS'

    Abs

    sexta-feira, 30 de novembro de 2012 11:13