[firebase-br] Duvida em como Formatar Datas

Sandro Souza escovadordebits em gmail.com
Sex Abr 3 13:31:45 -03 2009


Bom dia/tarde Antônio.

No próprio Firebird você pode extrair as partes de uma data/hoda através da
função EXTRACT da seguinte forma:

EXTRACT(parte FROM campo ou expressão de data/hora)

Onde:

"Parte" pode ser uma das seguintes:
DAY = Obtém o dia.
MONTH = Obtém o mês.
YEAR = Obtém o ano.
HOUR = Obtém a hora.
MINUTE = Obtém o minuto.
SECOND = Obtém o segundo com 4 casas decimais.

Experimente, por exemplo, o seguinte código:
SELECT EXTRACT(SECOND FROM CURRENT_TIMESTAMP)FROM RDB$DATABASE;

Você verá que os segundos são retornados com 4 casas decimais, representando
os décimos de milésimos.

Dessa forma, você pode brincar com as datas e horas, por exemplo, se você
quiser exibir apenas o mês e o ano de um campo data, use o seguinte código:

SELECT CAST(EXTRACT(MONTH FROM SeuCampo) || '/' || EXTRACT(YEAR FROM
SeuCampo) AS VARCHAR(7)) AS MES_ANO FROM SuaTabela;

Caso deseje acrescentar zeros á esquerda dos valores, você pode utilizar a
UDF "LPAD" para isso, como o seguinte exemplo:

SELECT CAST(LPAD(EXTRACT(MONTH FROM SeuCampo), 2, '0') || '/' ||
LPAD(EXTRACT(YEAR FROM SeuCampo), 4, '0') AS VARCHAR(7)) AS MES_ANO FROM
SuaTabela;

Espero ter ajudado mais que atrapalhado. :D

2009/4/3 Antonio Lucas Finotti Pereira <lcsfipe em gmail.com>

> Obrigado Hélio,
> era isso mesmo que eu queria saber.
> obrigado a todos que responderam.
> até mais,
>
> 2009/4/3 HPensador <hpensador em gmail.com>
>
> > Bom dia Antonio!
> >
> > Não entendi completamente sua necessidade mais vamos lá...
> >
> >
> >  Pessoal,
> >> como faço para formatar datas no Firebird ?
> >>
> >> Exemplo: Tenho a data "20/01/2009" e queria pegar somente o mes/ano
> >> "01/2009"...
> >>
> >
> > Utilize
> > Select  (extract(month from campo_data) || '/' || extract(year from
> > campo_data)) as data_formatada from tabela
> >
> > Obs... irá ser exibido 1/2009.
> >
> >
> > --
> > []'s,
> >
> > Hélio Oliveira
> > Analista de Sistemas
> > Delphi Developer
> > http://hpensador.blogspot.com/
> > (71) 9975-9176
> >
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
>
>
>
> --
> Antonio Lucas Finotti Pereira
> antonio-lucas em msn.com
> lcsfipe em gmail.com
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista