Definindo tamanho e tipo de dados em uma sql - UNION
Bom dia pessoal.
Uso Firebird 1.5 e Delphi 7. Meu problemas é o seguinte :
1) Estou fazendo um Union entre campos de duas tabelas. O problema é que no campo string de uma das tabelas tenho 250 posições e no equivalente da outra tenho 100 posições. Já tentei usar o comando SUBSTRING(CAMPO FROM X FOR Y), só que isto só faz um copy da string e nao redimenciona o tamanho do meu campo na sql de forma a ficar compativel com o campo da outra tabela. Tem alguma solução para isto ?
2) Um dos campos de uma tabela é o tipo integer e na outra Smallint. Tem como eu refinir na sql o tipo de uma das tabelas de foma a torna-los compativeis ?
Se alguém puder me ajudar fico muito grato
Obrigado
andre130977@hotmail.com
Analista/Programador
Uso Firebird 1.5 e Delphi 7. Meu problemas é o seguinte :
1) Estou fazendo um Union entre campos de duas tabelas. O problema é que no campo string de uma das tabelas tenho 250 posições e no equivalente da outra tenho 100 posições. Já tentei usar o comando SUBSTRING(CAMPO FROM X FOR Y), só que isto só faz um copy da string e nao redimenciona o tamanho do meu campo na sql de forma a ficar compativel com o campo da outra tabela. Tem alguma solução para isto ?
2) Um dos campos de uma tabela é o tipo integer e na outra Smallint. Tem como eu refinir na sql o tipo de uma das tabelas de foma a torna-los compativeis ?
Se alguém puder me ajudar fico muito grato
Obrigado
andre130977@hotmail.com
Analista/Programador
Andreehrig
Curtidas 0
Respostas
Afarias
21/06/2004
CAST!
select campo_V250, campo_integer from tabela1
UNION
select cast(campo_V100 as VARCHAR(250)), cast(campo_smallint as INTEGER) from tabela2
T+
select campo_V250, campo_integer from tabela1
UNION
select cast(campo_V100 as VARCHAR(250)), cast(campo_smallint as INTEGER) from tabela2
T+
GOSTEI 0
Andreehrig
21/06/2004
Muito Obrigado, deu certo !
Valeuuuuuuuuuuuuuu !!!!!!!!!
Valeuuuuuuuuuuuuuu !!!!!!!!!
GOSTEI 0