Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

caractere até hoje no oracle sql


Divida a consulta em partes individuais e depois entenda.

subst e até_data são as duas funções que estão sendo usadas.
  1. Extraindo a substring necessária, substr('2/2/2015 9:20:06 AM',1,9)
  2. Aplicando TO_DATE sobre a saída da etapa 1, TO_DATE(substr('2/2/2015 9:20:06 AM',1,9),'mm/dd/yyyy') .
  3. E é isso.

Então, em sua consulta postada, 'DD-MON-YY' máscara de formato não é necessária.

Além disso, o que você está tentando alcançar é equivalente a:
TRUNC(TO_DATE('2/22/2015 9:20:06 AM', 'MM/DD/YYYY HH:MI:SS AM'))

TRUNC remove a parte de tempo de um DATE modelo.

Alternativamente,

Você pode usar o ANSI TIMESTAMP literal:
TRUNC(TIMESTAMP '2015-02-22 09:20:06')