Concatenação não ocorre quando tem um campo vazio

(Tiago Kirsten) #1

Bom dia pessoal,

Montei um formulário, e nele tem uma ligação por “Captura”, onde busco o código de um registro, então montei uma concatenação de 5 campos para mostrar a descrição deste registro, mas 1 deles pode ser NULL (Numero de Série), e quando o mesmo está vazio a concatenação não ocorre, alguem sabe como resolvo?

Segue abaixo o select:

SELECT
tb_tipo_equipamento.ds_tipo_equipamento||’ / ‘||tb_marca_equipamento.ds_marca_equipamento||’ / ‘||tb_modelo_equipamento.ds_modelo_equipamento||’ / Patrimônio - ‘||tb_equipamento.cd_patrimonio||’ / Numero de Série - '||tb_equipamento.cd_numero_serie
FROM
manutencao.tb_equipamento INNER JOIN manutencao.tb_marca_equipamento ON tb_equipamento.cd_marca_equipamento = tb_marca_equipamento.cd_marca_equipamento
INNER JOIN manutencao.tb_tipo_equipamento ON tb_equipamento.cd_tipo_equipamento = tb_tipo_equipamento.cd_tipo_equipamento
INNER JOIN manutencao.tb_modelo_equipamento ON tb_equipamento.cd_modelo_equipamento = tb_modelo_equipamento.cd_modelo_equipamento
WHERE cd_equipamento = {cd_equipamento}
ORDER BY cd_equipamento

(system) #2

Thiago,

qual o banco que você esta utilizando ???

se for SQL Server existe uma função chamada ISNULL, que testa se o banco esta NULO e então retorna outro resultado…

Poderia ficar assim

SELECT
tb_tipo_equipamento.ds_tipo_equipamento
||’ / ‘||
tb_marca_equipamento.ds_marca_equipamento
||’ / ‘||
tb_modelo_equipamento.ds_modelo_equipamento
||’ / Patrimônio - ‘||
tb_equipamento.cd_patrimonio
||’ / Numero de Série - '||
ISNULL( tb_equipamento.cd_numero_serie, ‘SEM NÚMERO’ )

FROM

Espero ter ajudado
Tonico