Retirar as horas e deixar apenas a data

Firebird

20/08/2004

Olá. No Oracle 8i temos a função interna TRUNC que retira as horas de um campo TIMESTAMP, ,deixando apenas a data. Gostaria de saber qual a função do interbase q faz isso. Estou precisando pq preciso dá um Group By por um campo do tipo TIMESTAMP e, se houve horas nesse campo, sai tudo doido. ahnauahauahau

:arrow: Deu pra entender?


Rômulo Barros

Rômulo Barros

Curtidas 0

Respostas

Paulo_amorim

Paulo_amorim

20/08/2004

Olá

Não sei se realmente é possível minha sugestão e nem se de fato isso tem no IB... mas se não me engano tem como vc pegar MONTH() não? se sim, vc não pode fazer a concatenação dessa data?

(DAY(timestamp) || ´/´ || MONTH(timestamp) || ´/´ || YEAR(timestamp)


Até+


GOSTEI 0
Afarias

Afarias

20/08/2004

basta converter o tipo Timestamp em Date, ex::

select cast(campo_timestamp as date) from tabela;


(entretanto no IB6 ou FB1.0 vc não pode usar funções no group by)



T+


GOSTEI 0
Vinicius2k

Vinicius2k

20/08/2004

Vc pode usar a função CAST
cast(CAMPO_TIMESTAMP as date)

Mas o FB não agrupa por função agregada, então o melhor é criar uma View com o campo ´truncado´ e fazer o Select + Group By dessa View...
CREATE VIEW VIEW_SOHDATA(
    CAMPOS,
    SOHDATA)
AS
select CAMPOS,  cast(CAMPO_TIMESTAMP as date) as SOHDATA from TABELA;


Depois...
select SOHDATA from VIEW_SOHDATA
group by SOHDATA


T+


GOSTEI 0
Rômulo Barros

Rômulo Barros

20/08/2004

Obrigado a todos... :wink:


GOSTEI 0
POSTAR