CAST(campo as BLOB) ???

Firebird

17/12/2003

Oi pessoal! já pesquisei e nao achei nada sobre isso. Preciso (p/ concluir meu SQL) transformar um null num campo BLOB. Ja tentei várias coisas mas nao deu certo. Uso Interbase 6.0. Gostaria de saber se alguem tem alguma dica pra mim resolver esse problema.

Esse é o erro que esta dando::

[color=red:ebee23d05d]Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid command.
Data type unknown.[/color:ebee23d05d]


Este é o meu select::

[color=blue:ebee23d05d]Select c.cod_estab, c.data_ref,
c.codigo, c.conta_contabil,
c.centro_conta, c.contra_partida,
c.centro_contra, c.documento,
c.deb_cred, c.valor,
c.historico,
p.descricao as desc_conta_contabil,
o.descricao as desc_contra_partida,
u.descricao as desc_cod_estab
from cbcadmov c
left join cbplacon o on o.codigo = c.contra_partida
left join cbplacon p on p.codigo = c.conta_contabil
left join utcadest u on u.codigo = c.cod_estab
where c.cod_estab = :cod_estab and
c.data_ref >= :data_ini and
c.data_ref <= :data_fim and
c.conta_contabil >= :conta_ini and
c.conta_contabil <= :conta_fim and
c.conta_contabil not in (´99999999999999999´) and
c.contra_partida not in (´99999999999999999´)
union all
Select CAST(0 as INTEGER) as cod_estab,
CAST(NULL as DATE) as data_ref,
CAST(0 as INTEGER) as codigo,
a.codigo as conta_contabil,
CAST(0 as INTEGER) as centro_conta,
CAST(NULL as VARCHAR(17)) as contra_partida,
CAST(0 as INTEGER) as centro_contra,
CAST(NULL as VARCHAR(10)) as documento,
CAST(NULL as VARCHAR(07)) as deb_cred,
CAST(0 as FLOAT) as valor,
CAST(NULL as BLOB) as historico,[/color:ebee23d05d] [b:ebee23d05d][color=red:ebee23d05d]<---- é nesta linha o problema[/color:ebee23d05d][/b:ebee23d05d]
[color=blue:ebee23d05d]a.descricao as desc_conta_contabil,
CAST(NULL as VARCHAR(50)) as desc_contra_partida,
t.descricao as desc_cod_estab
from cbplacon a
left join utcadest t on t.codigo = :cod_estab
where a.codigo >= :conta_ini and
a.codigo <= :conta_fim and
a.tipo in (´ANALÍTICA´) and
a.codigo not in (Select d.conta_contabil
from cbcadmov d
where d.cod_estab = :cod_estab and
d.data_ref >= :data_ini and
d.data_ref <= :data_fim and
d.conta_contabil >= :conta_ini and
d.conta_contabil <= :conta_fim)
order by 4,2,3[/color:ebee23d05d]

grata,


Renata

Renata

Curtidas 0

Respostas

Travain

Travain

17/12/2003

Renato por você não coloca como VARCHAR(500) ou VARCHAR(1000). As colunas do tipo BLOB são bem mais complicadas de usar do que parece, principalmente em se tratando de um CAST. Experimente mudar.

Até mais.


GOSTEI 0
Renata

Renata

17/12/2003

Simplesmente pq. estou usando um UNION e ai dá erro já que no primeiro select o campo historico é BLOB.
Já tentei tb. converter o campo historico p/ varchar(qq. numero) p/ ver se aceitava e tb. nao funcionou.


GOSTEI 0
Agnaldo

Agnaldo

17/12/2003

Oi pessoal! já pesquisei e nao achei nada sobre isso. Preciso (p/ concluir meu SQL) transformar um null num campo BLOB. Ja tentei várias coisas mas nao deu certo. Uso Interbase 6.0. Gostaria de saber se alguem tem alguma dica pra mim resolver esse problema. Esse é o erro que esta dando:: [color=red:523f8f843f]Invalid token. Dynamic SQL Error. SQL error code = -104. Invalid command. Data type unknown.[/color:523f8f843f] Este é o meu select:: [color=blue:523f8f843f]Select c.cod_estab, c.data_ref, c.codigo, c.conta_contabil, c.centro_conta, c.contra_partida, c.centro_contra, c.documento, c.deb_cred, c.valor, c.historico, p.descricao as desc_conta_contabil, o.descricao as desc_contra_partida, u.descricao as desc_cod_estab from cbcadmov c left join cbplacon o on o.codigo = c.contra_partida left join cbplacon p on p.codigo = c.conta_contabil left join utcadest u on u.codigo = c.cod_estab where c.cod_estab = :cod_estab and c.data_ref >= :data_ini and c.data_ref <= :data_fim and c.conta_contabil >= :conta_ini and c.conta_contabil <= :conta_fim and c.conta_contabil not in (´99999999999999999´) and c.contra_partida not in (´99999999999999999´) union all Select CAST(0 as INTEGER) as cod_estab, CAST(NULL as DATE) as data_ref, CAST(0 as INTEGER) as codigo, a.codigo as conta_contabil, CAST(0 as INTEGER) as centro_conta, CAST(NULL as VARCHAR(17)) as contra_partida, CAST(0 as INTEGER) as centro_contra, CAST(NULL as VARCHAR(10)) as documento, CAST(NULL as VARCHAR(07)) as deb_cred, CAST(0 as FLOAT) as valor, CAST(NULL as BLOB) as historico,[/color:523f8f843f] [b:523f8f843f][color=red:523f8f843f]<---- é nesta linha o problema[/color:523f8f843f][/b:523f8f843f] [color=blue:523f8f843f]a.descricao as desc_conta_contabil, CAST(NULL as VARCHAR(50)) as desc_contra_partida, t.descricao as desc_cod_estab from cbplacon a left join utcadest t on t.codigo = :cod_estab where a.codigo >= :conta_ini and a.codigo <= :conta_fim and a.tipo in (´ANALÍTICA´) and a.codigo not in (Select d.conta_contabil from cbcadmov d where d.cod_estab = :cod_estab and d.data_ref >= :data_ini and d.data_ref <= :data_fim and d.conta_contabil >= :conta_ini and d.conta_contabil <= :conta_fim) order by 4,2,3[/color:523f8f843f] grata,


Vc já Usou o IbExpert?
É uma ferramenta e tanto para FB/IB


GOSTEI 0
Renata

Renata

17/12/2003

O que o IBExpert tem haver com isso?!?!?! :evil:


GOSTEI 0
America Informatica

America Informatica

17/12/2003

O que o IBExpert tem haver com isso?!?!?! :evil:




rsrs...

Renata, bom dia! Conseguiu resolver essa questão?
GOSTEI 0
POSTAR