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

Oracle compara duas datas diferentes


Sua string de entrada no to_date() função não corresponde ao seu padrão. O valor contém - como delimitador, porém no padrão você usa / :

Se você alinhar seu formato de entrada e o padrão, isso deve funcionar:
datetrx <= to_date('2014-07-16 00:00:00','yyyy-mm-dd hh24:mi:ss')

Eu pessoalmente prefiro literais de timestamp ANSI sobre o to_date() funcionam porque são portáteis e é menos digitação:
datetrx <= timestamp '2014-07-16 00:00:00'

Observe o formato que a string fornecida aqui é sempre o formato ISO.

Uma nota lateral:
Qualquer "formato" que você vê ao olhar para os valores na coluna daterx é aplicado pelo cliente SQL que você usa para exibir esses dados (SQL*Plus, SQL Developer, ...).

O valor em si é armazenado sem um formato no servidor. Formatação de um DATE o valor é sempre feito pelo cliente SQL (ou seu aplicativo):