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

Erro Do Ib Ao Comparar Com A Data Atual


Alisson

Pergunta

Olá amigos, estou precisando fazer uma comparação de datas. Mas recebo o cguint erro:

"Client SQL dialect 1 does not support reference to DATE datatype"

E ec é o sql que estou utilizando:

select EMPRESTIMO.*, EMPRESTIMO_ITEM.Cod_Item, ITEM.TITULO from EMPRESTIMO, EMPRESTIMO_ITEM, ITEM

where ((EMPRESTIMO.Cod_Emprestimo = EMPRESTIMO_ITEM.Cod_Emprestimo) and (EMPRESTIMO_ITEM.Cod_Item = ITEM.Cod_Item) and (DATA_DEVOLUCAO > CURRENT_DATE))

order by EMPRESTIMO.Data_Emprestimo

já busquei em vários fóruns, mas só é sugerido que use CURRENT_DATE ou CURDATE(), mas ambos não funcionaram. Se alguém souber uma outra forma para que eu possa comparar se a "DATA_DEVOLUCAO" é maior que a data atual, ficaria muito grato... obrigado!

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Qual o banco de dados que você está utilizando. A dica vale para Firebird (pelo menos comigo funciona) e provavelmente Interbase - mas utilizo dialect 3.

Outra, já experimentou configurar DIALECT 3 na conexão com o banco de dados? Que componentes você está utilizando?

Link para o comentário
Compartilhar em outros sites

  • 0

Estou utilizando o Interbase. Mas.... depois d 1 dia e meio batendo nisso finalmente e felizmente consegui resolver. Na verdad, não sei c tem mta lógica, mas enfim.... está funcionandu, e pra mim é o que importa! rsrsrsrs... bom, a resolução para o problema foi a cguint:

select EMPRESTIMO.*, EMPRESTIMO_ITEM.Cod_Item, ITEM.TITULO from EMPRESTIMO, EMPRESTIMO_ITEM, ITEM

where ((EMPRESTIMO.Cod_Emprestimo = EMPRESTIMO_ITEM.Cod_Emprestimo) and (EMPRESTIMO_ITEM.Cod_Item = ITEM.Cod_Item) and (DATA_RECEBIMENTO Is Null) and (DATA_DEVOLUCAO < CAST("now" AS DATE))) order by EMPRESTIMO.Data_Devolucao

Msmo assim, obrigado pela atenção, Micheus!

Link para o comentário
Compartilhar em outros sites

  • 0

Alisson, tem lógica sim. Também utilizo desta forma no Firebird.

Aliás, até testar a "sua" função CURRENT_DATE, eu ainda não tinha utilizado desta forma, mas funcionou. você provavelmente também poderá utilizar TODAY, mais apropriado, já que NOW retorna data e hora.

Eu testei com minha base destas formas e todas também funcionaram:

select *

from ligacao

where teste = cast('today' as date)

select *

from ligacao

where teste = cast(current_date as date)

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

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