novos tipos para permitir o armazenamento de data, hora e data/hora (Date, Time e TimeStamp). Este artigo vai esclarecer todas as dúvidas e apresentar as melhores práticas para utilização de cada um desses tipos de dados.

Veremos como inserir dados nesses formatos e como eles são armazenados no IB. Mostraremos também como é feito cálculo sobre esses tipos, comparação e conversão de dados do tipo data.

 

Date, Time e TimeStamp

Versões anteriores ao InterBase 6 suportavam apenas o tipo Date, onde  data e hora são armazenadas juntas em um único campo. No InterBase 6 e posteriores, o Date sofreu algumas modificações. Time e TimeStamp foram incorporados, sendo esses novos tipos só suportados no dialeto 3. O Date passou a ser TimeStamp e armazena data e hora como nas versões anteriores, já o Date passou a armazenar apenas data e o Time apenas a hora.

Antes de conhecermos as diferenças e vermos as principais operações envolvendo esses tipos de dados, é importante saber como o Interbase armazena datas.

 

Como as datas são armazenadas no InterBase

O InterBase grava os valores de data incluindo o valor do ano inteiro, com quatro posições. Se o usuário informar apenas dois dígitos para o ano, o InterBase usa um algoritmo chamado de sliding window para gerar os quatro dígitos. Quando as informações forem consultadas no banco de dados, os quatro dígitos do ano serão retornados. Através do algoritmo o InterBase define o século para gravação, quando são informados apenas dois dígitos do ano. Esse algoritmo é interno do InterBase, não podendo assim, ser descrito seu funcionamento e características.

 

Formato para inserir datas no InterBase

O tipo Date permite diversos formatos para inserir as informações no banco de dados, que são:

·         YYYYpMMpDD;

·         MMpDDpYYYY;

·         DDpMMpYYYY;

·         MMpDDpYY;

·         DDpMMpYY.

Onde:        

DD = dia composto de um ou dois dígitos;

MM = mês composto de um ou dois dígitos, ou de três letras abreviadas, ou do nome completo do mês em Inglês;

YY = último dois dígitos do ano;

YYYY = quatro dígitos do ano;

p = qualquer caractere que representa a separação das datas (“/” ou “.”), TAB ou espaço são ignorados.

Temos algumas restrições como:

·         No formato Ano-Mês-Dia, o ano sempre tem que estar com quatro dígitos;

·         No formato Mês-Dia-Ano, o ano pode estar com dois ou quatro dígitos, no caso de dois, o algoritmo sliding window será aplicado;

·         Se uma forma toda numérica for utilizada e o ano vier por último, o InterBase supõe que o formato é Dia-Mês-Ano. Exemplo: 12.04.2002 é interpretado como “dia 12 de Abril de 2002”, mas 12-04-02 é interpretado como “dia 4 de dezembro de 2002”.

·          

Convertendo Datas (Cast)

As conversões de data são comuns em bancos de dados e são conhecidas como Cast, por exemplo, a conversão de uma data para string e vice-versa. Vamos agora esclarecer quais os formatos permitidos nas conversões. Na Figura 1, temos um exemplo de como efetuar conversões de data para string através de comando SQL.

 

Figura 1. Exemplo de utilização de Cast

 

Convertendo-se Date para string, os seguintes formatos são permitidos:

...

Quer ler esse conteúdo completo? Tenha acesso completo