Artigo Clube Delphi Edição 48 - Horas e Datas em IB/FB

Neste artigo, apresento os três tipos de dados existentes no InterBase/Firebird (IB/FB), para manipular data, hora e data+hora, mostrando exemplos práticos de sua utilização.

Esse artigo faz parte da revista Clube Delphi edição 48. Clique aqui para ler todos os artigos desta edição



Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML.

 

Horas e Datas em IB/FB

Operações com campos temporais no InterBase/Firebird

 

Os campos DATE, TIME e TIMESTAMP sempre foram cercados de um certo mistério, principalmente para os novos usuários. A introdução do dialeto 3 no IB 6.0 e a conseqüente mudança de nomenclatura e de significado dos campos DATE contribuíram ainda mais para a possível confusão dos usuários entre os tipos de data e hora. Neste artigo, apresento os três tipos de dados existentes no InterBase/Firebird (IB/FB), para manipular data, hora e data+hora, mostrando exemplos práticos de sua utilização.

 

Tipos disponíveis

Nas versões anteriores ao IB 6.0, o único tipo de dados existente para manipular data e/ou hora era DATE, que armazenava juntamente a data e a hora. Não havia tipos para armazenar datas ou horas separadamente. As novidades que vieram com o IB 6.0 – entre elas, os dialetos – acabaram com essa “limitação”.

O principal motivo da introdução de dialetos nos bancos de dados (BDs) foi, justamente, oferecer um meio de disponibilizar novos tipos e funcionalidades sem quebrar a compatibilidade com os bancos anteriores ao IB 6.0. Um banco gerado em uma versão anterior à 6.0 é tratado sempre como dialeto 1. Neste dialeto, o antigo tipo DATE é interpretado como TIMESTAMP, e continua sendo o único disponível para manipulação de datas e horas. Já nos BDs criados no dialeto 3, existem três tipos de dados temporais, conforme a tabela abaixo:

 

Tipo

Descrição

Intervalo Permitido

TIMESTAMP

Substituto do antigo tipo DATE, armazena um par de composto por data + hora

(Veja intervalos abaixo)

DATE

Armazena somente uma data (ano, mês e dia)

1/01/0001 a 31/12/9999

TIME

Armazena somente uma hora (hora, minuto, segundos e frações de segundo)

00:00 AM a 23:59.9999 PM

Tabela1. Tipos de dados temporais

 

Dica: O dialeto 1 é mantido apenas para efeito de compatibilidade. Todos os novos bancos devem ser criados no dialeto 3 que oferece mais recursos e facilidades." [...] continue lendo...

Artigos relacionados