Somar um inteiro ([Prazo] em dias) a uma data ("DataEntrada") numa Consulta do Base

Minha tabela tem, entre outros, o campo “date [DataEntrada]” e outro “integer [Praso]”, preciso que a Consulta no Base retorne o resultado de "DataEntrada"+"Prazo", (alias “DataEstimada”). Mas dessa fórmula só consigo erro. Alguma sugestão para que isso dê certo?

Agradeço desde já.

E me desculpem a pergunta tão básica…

Olá,

Imagino que você está usando o banco de dados HSQLDB nativo do LibO Base. Ele infelizmente carece de uma função estilo “DateADD” para operações com datas. Por isso, é preciso usar outras estratégias, como a que eu pesquisei abaixo:

  1. Crie uma consulta pelo “Criar consulta no editor de SQL…

  2. Cole o a instrução abaixo (onde o cálculo é feito dentro da função CAST, desmembrando a data com as funções YEAR, MONTH e DAY):

     SELECT
       "DataEntrada",
       "Prazo",  
       CAST( Year("DataEntrada") || '-' ||
              Month("DataEntrada") || '-' || 
              Day("DataEntrada") + "Prazo" AS "DATE" ) AS "DataEstimada"
     FROM   
       "Nome_da_Sua_Tabela"
    
  3. Certifique-se que a opção “Executar o comando SQL diretamente” esteja selecionada:
    Descrição da imagem

O procedimento acima tem me atendido perfeitamente nos meus pequenos bancos de dados.

Atte,
Grafeno

1 Like

Grafeno boa tarde,

Estou usando a sua query no sql server e esta formatação de ||-|| para separar ano, mês e dia o SQL não aceita, o que deveria colocar?

A pergunta refere-se ao LO Base. Não funciona da mesma forma que o Calc.

Você tem toda a razão! Eu não me atentei ao Base. Vou remover minha resposta.