Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Firebird ::: Dicas & Truques ::: Tipos de Dados

Como usar os tipos de dados DATE, TIME e TIMESTAMP do Firebird

Quantidade de visualizações: 30176 vezes
No dialeto 3 (SQL DIALECT 3), o tipo de dados DATE do Firebird armazena apenas a data sozinha, ou seja, sem as horas. Esta forma de guardar apenas a data resulta em uma ocupação de 4 bytes (32 bits) na memória. A data armazenada pode variar de 01/01/0001 até 31/12/9999.

No dialeto 1, (SQL DIALECT 1), o tipo DATE é o equivalente ao tipo TIMESTAMP do dialeto 3 (o tipo TIMESTAMP passou a existir somente a partir do dialeto 3).

Veja um comando DDL CREATE TABLE que cria uma tabela do Firebird contendo um campo do tipo DATE:

CREATE TABLE ALUNOS (
  ID          INTEGER NOT NULL,
  NOME        VARCHAR(40) NOT NULL,
  NASCIMENTO  DATE NOT NULL
);

Aqui o campo ID é do tipo INTEGER, NOME é do tipo VARCHAR(40) e NASCIMENTO é do tipo DATE. Veja agora um comando DML INSERT INTO que insere um novo registro nesta tabela. Fique atento à forma como o valor da data é informado:

INSERT INTO ALUNOS VALUES(1, 'OSMAR J. SILVA', '1981-11-28');

Veja que a data, assim como o valor para o campo NOME, foi informada entre aspas simples e seguindo o formato YYYY-MM-DD, ou seja, o ano, mês e dia separados por hifens. Para obter os dados inseridos pela query anterior, podemos usar o seguinte comando DML SELECT FROM:

SELECT * FROM ALUNOS;

Esta query resulta na exibição dos seguintes dados:

ID  NOME	     NASCIMENTO
1   OSMAR J. SILVA   28/11/1981


O tipo de dados TIME, disponível apenas a partir do dialeto 3 (SQL DIALECT 3) nos permite armazenar as horas, sem a data. Este tipo ocupa 4 bytes (32 bits) de memória e pode conter valores na faixa de 00:00 até 23:59:59.9999. Veja um comando DDL CREATE TABLE que cria uma tabela do Firebird contendo um campo do tipo TIME:

CREATE TABLE COMPROMISSOS (
  ID         INTEGER NOT NULL,
  DESCRICAO  VARCHAR(80) NOT NULL,
  DATA       DATE NOT NULL,
  HORA       TIME NOT NULL
);

Veja que esta tabela possui 4 campos: ID do tipo INTEGER, DESCRICAO do tipo VARCHAR(80), DATA do tipo DATE e HORA do tipo TIME. Eis um comando DML INSERT INTO que mostra como inserir um registro nesta tabela:

INSERT INTO COMPROMISSOS VALUES(10, 'ALMOÇO COM A ESPOSA',
  '2010-12-10', '19:00:00');

Note que, assim como fazemos com campos do tipo DATE, os valores para campos do tipo TIME também devem ser informados entre aspas simples. Veja um comando DML SELECT FROM que lista o registro inserido na query anterior:

SELECT * FROM COMPROMISSOS;


Esta query produz o seguinte resultado:

ID  DESCRICAO	          DATA	        HORA
10  ALMOÇO COM A ESPOSA	  10/12/2010	19:00:00


O tipo TIMESTAMP, disponível apenas a partir do dialeto 3 (SQL DIALECT 3) nos permite armazenar a data e hora juntas. Este tipo ocupa 8 bytes (64 bits) de memória e é equivalente ao tipo DATE do dialeto 1. Veja um comando DDL CREATE TABLE que cria uma tabela do Firebird contendo um campo do tipo TIMESTAMP:

CREATE TABLE COMPROMISSOS (
  ID         INTEGER NOT NULL,
  DESCRICAO  VARCHAR(80) NOT NULL,
  DATA_HORA  TIMESTAMP NOT NULL
);

Veja que esta tabela possui três campos: ID é do tipo INTEGER, DESCRICAO é do tipo VARCHAR(80) e DATA_HORA é do tipo TIMESTAMP. Eis um comando DML INSERT INTO que mostra como inserir um registro nesta tabela:

INSERT INTO COMPROMISSOS VALUES(20, 'ALMOÇO COM A ESPOSA', 
  '2010-10-23 19:00:00');

Note que os valores para campos do tipo TIMESTAMP também devem ser informados entre aspas simples. Para finalizar, Veja um comando DML SELECT FROM que lista o registro inserido na query anterior:

SELECT * FROM COMPROMISSOS;

Esta query produz o seguinte resultado:

ID  DESCRICAO	          DATA_HORA
20  ALMOÇO COM A ESPOSA	  23/10/2010 19:00:00


Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de Firebird

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 30 usuários muito felizes estudando em nosso site.