Como decodificar uma data numa Trigger/Procedure ?

Firebird

16/02/2006

Olá! :D

Uso: Delphi + FB/IB 1.5 + DBExpress


1-Desejaria saber como decodificar uma data numa Trigger/Proc.
Ex: DecodeDate(Date,Ano,Mes,Dia);


2-Como Codificar um data:
Dia := 01, Mes: 02 Ano: 2005
Ex: Data := EncodeDate(Ano,Mes,Dia);


3-Como codificar uma data se ja tenho MesAno String ?
Ex: MesAno := ´MM.AAAA´
3.1- Data := Cast(´01.´+Mesano);
3.2- Data := Cast(´01.02.´+Anox);
Obs: o problema está na união ´XX´+´ZZ´ (Concatenação)



Por Favor de exemplos.


Desde já meus agradecimentos.

T+

ANT.CARLOS/SP


Ant.carlos/sp

Ant.carlos/sp

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

16/02/2006

A concatenação vc faz com ||.
Para funções desse tipo, vc pode usar funções como EXTRACT e SUBSTRING para desmontar a data ou usar uma UDF, a biblioteca RFunc, se não me engano, tem uma função para isso.


GOSTEI 0
Ant.carlos/sp

Ant.carlos/sp

16/02/2006

:oops:

Caro gandalf.nho!

Obrigado pela dica, mas gostaria q vc me respondesse p/ completo + exemplos, pois estou meio pedido.
E + uma pergunta:

[color=blue:b06ec31614]4-Como compara se uma date tem algum valor válido ?
Ex: IF (New.Data > 0)..., desta forma não da erro na compilacao mas
na execucao sim da Trigger.[/color:b06ec31614]


T+

ANT.CARLOS/SP


GOSTEI 0
Ant.carlos/sp

Ant.carlos/sp

16/02/2006

:D :(

Valeu pessoal!

[color=olive:3bf15bb6d9]1-Desejaria saber como decodificar uma data numa Trigger/Proc.
Ex: DecodeDate(Date,Ano,Mes,Dia);[/color:3bf15bb6d9]
[color=blue:3bf15bb6d9]
Dia = Cast(Extract(Day from Data) as Integer);
Mes = Cast(Extract(Month from Data) as Integer);
Ano = Cast(Extract(Year from Data) as Integer); [/color:3bf15bb6d9]



[color=olive:3bf15bb6d9]1.1- Data String p/ Date[/color:3bf15bb6d9]
[color=blue:3bf15bb6d9]DTENTRADA = CAST(´31.12.05´ AS Date); [/color:3bf15bb6d9]


[color=olive:3bf15bb6d9]2-Como Codificar um data:
Dia := 01, Mes: 02 Ano: 2005[/color:3bf15bb6d9]
[color=blue:3bf15bb6d9]RESP: CAST(CAST(DIA as char(2)||´.´||CAST(MES as char(2)||´.´||CAST(ANO as char(4) as Date)[/color:3bf15bb6d9]


[color=olive:3bf15bb6d9]3-Como codificar uma data se ja tenho MesAno String ?
Ex: MesAno := ´MM.AAAA´[/color:3bf15bb6d9]
[color=blue:3bf15bb6d9] RESP: Mesanox = ´02.2006´;

Data = Cast(´01.´||mesanox as date);[/color:3bf15bb6d9]
Data = Cast(´01.02.´||Anox as Date);


[color=olive:3bf15bb6d9]4-Como passa o valor null para uma data ?[/color:3bf15bb6d9]
[color=blue:3bf15bb6d9]4.1- New.Data = Null
4.2- P_data = Null - Variavel[/color:3bf15bb6d9]


ANT.CARLOS/SP


GOSTEI 0
POSTAR