terça-feira, 29 de julho de 2008

ZeosLib, ParamCheck e Conversão

É sabido que o o nosso bravo PG é um banco de dados objeto-relacional, certo?

O que isso significa? Que você pode encarar uma tabela como uma classe, e um registro como instância e por ai vai. Mas não vou entrar neste mérito não. Tenho que comer mais arroz e feijão.

Eu quero é chamar a atenção é que algumas funções como CAST ou EXTRACT pode ser facilitada da seguinte forma:


SELECT CAMPOTIMESTAMP::DATE
FROM NOME TABELA


Percebeu os "::"?

Veja um exemplo prático:



Ou seja, consegui extrair a data de um campo TIMESTAMP de uma forma bem tranquilo e isso vale para outras conversões também.

Mas o lance é aplicar isso no Delphi...

Se você tentar fazer a mesma coisa diretamente no TZQuery dá o seguinte erro:



Por que?

Isso acontece por causa dos parâmetros que você pode definir dentro da query, que são identificados por ":".

Para resolver isso, porém abdicando dos parâmetros, desabilite o parâmetro ParamCheck.

Funciona que é uma beleza!

Minha lista de blogs