sql >> Databasteknik >  >> RDS >> Oracle

Hoppa över tecken i Oracle TO_DATE-funktionen

Du kan använda pundtecknet (# ) för detta:

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

Jag hittade inte detta i dokumentationen , så jag kan inte säga varför, men dessa fungerar också:

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

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

Dessa verkar inte fungera:

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

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

Detta verkar vara odokumenterat, men du verkar kunna byta skiljetecken utan problem:

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

Du kan använda Teckenliterals, omslutna av dubbla citattecken om du vet vilken text du ska ignorera:

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


  1. SQL Server XML existerar()

  2. Vill lagra objekt i MySQL-databas

  3. Kan jag lita på att användningssatsen stänger mina MySQL-anslutningar?

  4. Räkna antalet undertaggar från XML i SQL