Ajustando campos Date para não gravar horário

Os campos do tipo "Date" nas tabelas do CIGAM, como regra, salvam somente a data sem o horário nos registros. Quando realizamos alguma operação de insert/update diretamente pelo banco de dados é necessário que façamos uma adequação deste tipo de campo para não gravar o horário junto (padrão dos bancos de dados Oracle e MSSQL). 

Os comandos que podemos usar para gravar da forma correta são os seguintes:

Para Oracle:
Obs.: Como vimos bastante simples, basta usar a função "trunc" de sysdate (que retorna a data atual) ou do campo de tipo date que quisermos ajustar.

Para MSSQL:
Obs.: Para MSSQL como podemos observar acima é um pouco mais complicado de converter, já que não existe a função trunc para datas. Desta forma se faz necessário utilizarmos uma combinação de funções de conversão: cast(floor(cast(getdate() as float)) as datetime).

Bom, trata-se de um post bastante simples, com o intuito de ajudar nestas situações onde podemos perder um certo tempo tentando ajustar as datas, ou ainda gravando diretamente com o horário, podendo comprometer, por exemplo, filtros de relatórios e outras rotinas que utilizam intervalos de datas.
2 comentários

Postagens mais visitadas deste blog

[eXo] - Remover janela de solicitação de Registro

[Kettle] - Ajuste de problema com horário de verão

Pegando informações de Sessão no Oracle e equivalente no MSSQL