Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Überspringen Sie Zeichen in der Oracle TO_DATE-Funktion

Sie können das Nummernzeichen (# ) dafür:

SELECT TO_DATE('2015-01-01 01:00:00.999', 'yyyy-mm-dd hh24:mi:ss.###') FROM dual;
--> 01/01/2015 01:00:00

Ich habe dies nicht in der Dokumentation , also kann ich nicht sagen warum, aber diese funktionieren auch:

SELECT TO_DATE('01_','hh24#') FROM dual;

SELECT TO_DATE('01:01:01.0xx','hh24:mi:ss.###') FROM dual;

Diese scheinen nicht zu funktionieren:

SELECT TO_DATE('010','hh24#') FROM dual;

SELECT TO_DATE('01:01:01.xxx','hh24:mi:ss.###') FROM dual;

Dies scheint undokumentiert zu sein, aber Sie scheinen die Satzzeichen problemlos austauschen zu können:

SELECT TO_DATE('2015-01;01 11:12/13',
               'yyyy.mm,dd_hh-mi ss') FROM dual;
--> 01/01/2015 11:12:13

Sie können Zeichenliterale verwenden, die in doppelte Anführungszeichen eingeschlossen sind wenn Sie wissen, welchen Text Sie ignorieren sollen:

SELECT TO_DATE('foo2015bar-01-!#%}01', '"foo"yyyy"bar"-mm-"!#%}"dd') FROM dual;
--> 01/01/2015