Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Campo INTEGER agregado


Vitor Eduardo da Silva

Pergunta

Olá

Estou fazendo um aplicação delphi e mysql. Meu problema é que tenho a seguinte situação:

Tenho uma coluna integer no meu adoquery. mas o meu sql é dinâmico e para esta coluna hora o dado vem do banco hora será uma coluna agregada no meu select. A questão é quando faço SELECT 0 as despesa_id, o dado vem como largint e não como integer, dai da erro no delphi.

Tentei fazer um cast na minha coluna agregada para forçar o tipo do campo para integer mas não dá. Fiz assim

SELECT CAST(0 AS INTEGER)... mas da erro de sintaxe. Interessante que se eu fizer SELECT CAST(0 AS CHAR) aceita, mas não pode ser CHAR o field tem que ser integer para fechar com o field da adoquery.

A idéia é a seguinte.

if opção = x then
 select despesa_id,....
else
 select CAST(0 AS INTEGER) AS despesa_id...

Despesa_id é uma coluna integer no banco.

Acho que deu para entender né.

Desde já grato.

Vitor Eduardo

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Olá

Estou fazendo um aplicação delphi e mysql. Meu problema é que tenho a seguinte situação:

Tenho uma coluna integer no meu adoquery. mas o meu sql é dinâmico e para esta coluna hora o dado vem do banco hora será uma coluna agregada no meu select. A questão é quando faço SELECT 0 as despesa_id, o dado vem como largint e não como integer, dai da erro no delphi.

Tentei fazer um cast na minha coluna agregada para forçar o tipo do campo para integer mas não dá. Fiz assim

SELECT CAST(0 AS INTEGER)... mas da erro de sintaxe. Interessante que se eu fizer SELECT CAST(0 AS CHAR) aceita, mas não pode ser CHAR o field tem que ser integer para fechar com o field da adoquery.

A idéia é a seguinte.

if opção = x then
 select despesa_id,....
else
 select CAST(0 AS INTEGER) AS despesa_id...

Despesa_id é uma coluna integer no banco.

Acho que deu para entender né.

Desde já grato.

Vitor Eduardo

JÁ DESCOBRI, NO LUGAR DO INTEGER FICARIA SIGNED.

SELECT CAST(0 AS SIGNED)...

Obrigado pelos que deram alguma atenção ao meu problema.

Editado por Vitor Eduardo da Silva
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...