Array
(
)

Seleção de data e hora

Marcelo.l
   - 23 set 2005

Olá,

Tenho alguns relatórios em que preciso selecionar registros por periodo de data e hora.
Em algumas tabelas estou usando o campo TimeStamp para guardar a data e hora em que o registro foi criado.
Como fazer para selecionar um determinado período de data e, dentro deste período, um determinado período de horas.

No Firebird podemos fazer um CAST. Ex:

#Código

SELECT
    CAST(DATA_HORA AS DATE)  AS MINHA_DATA,
    CAST(DATA_HORA AS TIME)  AS MINHA_HORA
 
FROM
    LOG_SYSTEM
 
WHERE
    CAST(DATA_HORA AS DATE) BETWEEN ´09/01/2005´ AND ´09/30/2005´ 
    AND CAST(DATA_HORA AS TIME) BETWEEN ´12:00´ AND ´18:30´


Isto gera uma tabela com um campo data e outro campo hora com os registros encontrados entre o dia 01/09/2005 à 30/09/2005 entre 12:00 hs e 18:30 hs. O problema é que o SQL Server não tem tipos de campos separados para data e hora.

Como fazer algo similar no SQL Server???

Desde já agradeço.

Emerson
   - 23 set 2005

leia sobre a função DatePart