DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como concatenar campos Date e Time para gerar um Timestamp no Firebird?

Fala galera do Show Delphi, tudo beleza?

Outro dia me deparei com uma situação:

Tinha a seguinte tabela

1
2
3
4
5
6
CREATE TABLE AGENDA (
  ID           INTEGER NOT NULL,
  COMPROMISSO  VARCHAR(100) NOT NULL,
  DATA         DATE NOT NULL,
  HORA         TIME NOT NULL
);

E eu tinha a necessidade de recuperar a data e hora em uma única coluna, então me veio a dúvida de como fazer.

Por sorte, para fazer isso foi bem simples, fiz uma concatenação e um cast.
Ou seja, junte o campo data com o campo hora e fiz com cast para timestamp.

Veja o exemplo abaixo.

1
2
3
4
5
6
-- Criado por Giovani Da Cruz
SELECT
id,
compromisso,
CAST(DATA||' '||hora AS TIMESTAMP) AS horario
FROM agenda

Atendendo a pedidos, estou atualizando o post e colocando um exemplo onde temos a hora salva como char.
Neste caso primeiro precisamos converter a hora para time, depois seguimos conforme o primeiro exemplo.

Vamos ao exemplo 2:

1
2
3
4
5
6
7
8
9
10
11
12
13
-- Criado por Giovani Da Cruz
SELECT
 
CAST(
  -- exemplo de data
  '15.10.2020'
  || ' ' ||
 
  -- simulando uma hora como char exemplo 0930
  SUBSTRING('0930' FROM 1 FOR 2)||':'||SUBSTRING('0930' FROM 3 FOR 2)
AS TIMESTAMP) AS data_e_hora
 
FROM rdb$database

Espero que ajude a todos!

Dúvidas ou sugestões, deixe nos comentários.

Um abraço e até o post.

Facebook Comments Box
  • InfusTec
  • 13.955 views
  • 2 comentários
  • 27 de junho de 2015

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

2 respostas para “Como concatenar campos Date e Time para gerar um Timestamp no Firebird?”

  1. Marcelo Ruiz disse:

    Bom dia
    tenho um campo
    dataAbertura date
    hora char(4)

    como concateno isso na minha view ?

  2. Olá Marcelo, veja você pode primeiro converter a sua hora em char para time e depois fazer conforme o exemplo do post.

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados