para os feras, concatenar valores

Firebird

31/03/2003

SELECT CAMPO1||CAMPO2 FROM TABELA

SE O CAMPO1 ESTIVER NULO O RESULTADO SERÁ NULO.
COMO FAZER PARA RETORNA O VALOR DO CAMPO2 ???

Favor postar o título em letras minúsculas
Moderador


Anonymous

Anonymous

Curtidas 0

Respostas

Accsjee

Accsjee

31/03/2003

QUERY1.SQL.ADD(´SELECT CAMPO1, CAMPO2 FROM TABELA WHERE CAMPO1 IS NULL´);


GOSTEI 0
Lucianoko

Lucianoko

31/03/2003

Companheiro DEV,

Estou com o mesmo problema que o seu já tem umas 5 semanas e ninguém conseguiu me ajudar.

Já me pssaram usar union, mas em um select complexo fica muito complicado.

Outra maneira é usar campo calculado dentro do delphi. No meu caso não serve porque uso um único IBDataSet para todos os relatórios sendo assim impossível usar campo calculado.

Boa sorte pra nós dois, se conseguir algo lhe comunico.


GOSTEI 0
Anonymous

Anonymous

31/03/2003

2 opções:

1) coloque triggers (before update/insert) para a tabela em questão com o código:

if (new.campo1 is null) then
new.campo1 = ´´;


2) vc pode usar uma UDF tipo NVL para converter NULOS para ´´, ex:

select NVL(campo1, ´´) || campo2 from tabela1;

Abraço


GOSTEI 0
Anonymous

Anonymous

31/03/2003

vc pode usar a função COALESCE, onde vc pode passar o valor que vc quer retornar no caso de ser nulo, assim:

select coalesc(campo,99) from tabela

vai retornar 99 em todos os campos que forem nulo

se não funcionar no seu interbase atualize ele com a versão 1.5 do Firebird.........valeu


GOSTEI 0
POSTAR