Din inputstreng i to_date() funktion passer ikke til dit mønster. Værdien indeholder - som afgrænsning, men i mønsteret bruger du / :
Hvis du justerer dit inputformat og mønsteret, burde dette virke:
datetrx <= to_date('2014-07-16 00:00:00','yyyy-mm-dd hh24:mi:ss')
Jeg foretrækker personligt ANSI-tidsstempel-literal over to_date() funktion, fordi de er bærbare, og det er mindre at skrive:
datetrx <= timestamp '2014-07-16 00:00:00'
Bemærk, at formatet strengen, der leveres her, altid er ISO-formatet.
En sidebemærkning:
Ethvert "format", du ser, når du ser på værdierne i kolonnen daterx anvendes af den SQL-klient, du bruger til at vise disse data (SQL*Plus, SQL Developer, ...).
Selve værdien gemmes uden format på serveren. Formatering af en DATE værdien er altid udført af SQL-klienten (eller din applikation):