none
Duvida Concatenar RRS feed

  • Pergunta

  •  

    Olá,

     

    Em uma select de uma SP estou concatenando o campo endereço e o campo bairro:

     

    clientes_1.clientes_endereco + ' - ' + clientes_1.clientes_bairro AS DESTENDERECO

     

    Acontece que se, por exemplo, o bairro for null, DESTENDERECO passa a ser null também, independente se o endereço tiver algum valor.

     

    Como posso resolver isso?

     

    [ ]´s

    quinta-feira, 3 de janeiro de 2008 13:00

Respostas

  • Bom Dia,

     

    Você pode antes da consulta mudar esse comportamento. Ex:

     

    Code Block

    CREATE TABLE #tbl (Campo1 VARCHAR(20), Campo2 VARCHAR(20))

    INSERT INTO #tbl (Campo1, Campo2) VALUES ('Valor',NULL)

    INSERT INTO #tbl (Campo1, Campo2) VALUES ('Algum','Nome')

     

    -- Funciona

    SET CONCAT_NULL_YIELDS_NULL OFF

    SELECT Campo1 + ' ' + Campo2 FROM #tbl

     

    -- Não Funciona

    SET CONCAT_NULL_YIELDS_NULL ON

    SELECT Campo1 + ' ' + Campo2 FROM #tbl

     

     

     

    Ou se preferir, construir uma consulta que não leve em consideração a diretiva CONCAT_NULL_YIELDS_NULL. Ex:

     

    Code Block
    SELECT
    ISNULL(Campo1,'') + ' ' + ISNULL(Campo2,'') FROM #tbl

     

     

     

    [ ]s,

     

    Gustavo

    quinta-feira, 3 de janeiro de 2008 13:10

Todas as Respostas

  • Bom Dia,

     

    Você pode antes da consulta mudar esse comportamento. Ex:

     

    Code Block

    CREATE TABLE #tbl (Campo1 VARCHAR(20), Campo2 VARCHAR(20))

    INSERT INTO #tbl (Campo1, Campo2) VALUES ('Valor',NULL)

    INSERT INTO #tbl (Campo1, Campo2) VALUES ('Algum','Nome')

     

    -- Funciona

    SET CONCAT_NULL_YIELDS_NULL OFF

    SELECT Campo1 + ' ' + Campo2 FROM #tbl

     

    -- Não Funciona

    SET CONCAT_NULL_YIELDS_NULL ON

    SELECT Campo1 + ' ' + Campo2 FROM #tbl

     

     

     

    Ou se preferir, construir uma consulta que não leve em consideração a diretiva CONCAT_NULL_YIELDS_NULL. Ex:

     

    Code Block
    SELECT
    ISNULL(Campo1,'') + ' ' + ISNULL(Campo2,'') FROM #tbl

     

     

     

    [ ]s,

     

    Gustavo

    quinta-feira, 3 de janeiro de 2008 13:10
  • Beleza, resolvido!

     

    [ ]´s

     

     

    quinta-feira, 3 de janeiro de 2008 13:15
  • Olá Marcel,

     

    Que bom que a solução o atendeu. Qualquer coisa estamos à disposição.

     

    [ ]s,

     

    Gustavo

     

    quinta-feira, 3 de janeiro de 2008 14:54