sql >> Database >  >> RDS >> Oracle

Tekens overslaan in Oracle TO_DATE-functie

U kunt het hekje gebruiken (# ) hiervoor:

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

Ik heb dit niet gevonden in de documentatie , dus ik kan niet zeggen waarom, maar deze werken ook:

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

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

Deze lijken niet te werken:

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

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

Dit lijkt ongedocumenteerd te zijn, maar het lijkt erop dat u de leestekens zonder problemen kunt uitwisselen:

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

U kunt Letterlijke tekens gebruiken, tussen dubbele aanhalingstekens als je weet welke tekst je moet negeren:

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


  1. Een Oracle PL/SQL opgeslagen procedure gebruiken om rechten te verlenen op de tabellen van een andere gebruiker

  2. Hoe $_GET te gebruiken om meerdere parameters met dezelfde naam in PHP te krijgen

  3. Retourwaarde voor MySQL opgeslagen procedure

  4. Binaire gegevens in MySQL