Tanto no ORACLE quanto no POSTGRES temos a função TO_DATE, só que no postgres ela se comporta de forma diferente. No ORACLE ,To_date converte uma string em data, semelhante ao postgres, a diferença é que no postgres ela só retorna a parte data enquanto que no ORACLE ela traz data e hora.
No Oracle
SQL> alter session set NLS_DATE_FORMAT='dd/mm/yyyy hh24:mi:ss';
Sessão alterada.
SQL> SELECT TO_DATE('01/10/2007') DATA FROM DUAL;
DATA
-------------------
01/10/2007 00:00:00
SQL> SELECT TO_DATE('01/10/2007 13:00:00','DD/MM/YYYY HH24:MI:SS') DATA FROM DUAL;
DATA
-------------------
01/10/2007 13:00:00
No postgres
select TO_date('01/10/2007','DD/MM/YYYY');
select TO_date('01/10/2007 13:00:00','DD/MM/YYYY HH24:MI:SS');
retorna das duas é o mesmo ==> 01/10/2007, não existe a hora
Para exibição da hora existe 2 alternativas
1.) Trocar a função to_date para to_timestamp, opções de máscaras semelhante da to_date
select TO_timestamp('01/10/2007 13:00:00','DD/MM/YYYY HH24:MI:SS');
2.) Criar uma função to_date que internamente chama a to_timestamp.
Aqui no detran adotaremos a primeira opção.
Nenhum comentário:
Postar um comentário