Beispiele
Der folgende Ausdruck gibt Datumswerte für die Strings im Port DATE_PROMISED zurück. TO_DATE gibt immer ein Datum und eine Uhrzeit zurück. Wenn Sie einen String ohne Zeitwert übergeben, gibt das Rückgabedatum die Uhrzeit immer mit 00:00:00.000000000 an. Wenn Sie ein Mapping im 20. Jahrhundert ausführen, lautet das Jahrhundert 19. In diesem Beispiel ist das aktuelle Jahr auf dem Knoten, auf dem
Data Integration Service
ausgeführt wird, 1998. Das Datetime-Format der Zielspalte lautet MON DD YY HH24:MI SS, was bedeutet, dass
Data Integration Service
den Datetime-Wert beim Schreiben in das Ziel auf Sekunden beschneidet:
TO_DATE( DATE_PROMISED, 'MM/DD/YY' )
Der folgende Ausdruck gibt Datums- und Zeitwerte für die Strings im Port DATE_PROMISED zurück. Wenn Sie einen String ohne Zeitwert übergeben, gibt
Data Integration Service
eine Fehlermeldung aus. Wenn Sie ein Mapping im 20. Jahrhundert ausführen, lautet das Jahrhundert 19. Das aktuelle Jahr auf dem Knoten, auf dem
Data Integration Service
ausgeführt wird, ist 1998:
TO_DATE( DATE_PROMISED, 'MON DD YYYY HH12:MI:SSAM' )
| Error. Integration Service skips this row.
|
Der folgende Ausdruck konvertiert Strings im Port SHIP_DATE_MJD_STRING in Datumswerte:
TO_DATE (SHIP_DATE_MJD_STR, 'J')
| Dec 31 1999 00:00:00.000000000
|
| Jan 1 1900 00:00:00.000000000
|
Da der J-Formatstring die Zeitkomponente der Datumsangabe nicht berücksichtigt, wird die Uhrzeit in den Rückgabewerten auf 00: 00: 00.000000000 gesetzt.
Der folgende Ausdruck konvertiert einen String in ein vierstelliges Jahresdatumsformat. Das aktuelle Jahr ist 1998:
TO_DATE( DATE_STR, 'MM/DD/RR')
| 04/01/1998 00:00:00.000000000
|
| 08/17/2005 00:00:00.000000000
|
Der folgende Ausdruck konvertiert einen String in ein vierstelliges Jahresdatumsformat. Das aktuelle Jahr ist 1998:
TO_DATE( DATE_STR, 'MM/DD/YY')
| 04/01/1998 00:00:00.000000000
|
| 08/17/1905 00:00:00.000000000
|
In der zweiten Zeile gibt RR das Jahr 2005, YY hingegen das Jahr 1905 zurück.
Der folgende Ausdruck konvertiert einen String in ein vierstelliges Jahresdatumsformat. Das aktuelle Jahr ist 1998:
TO_DATE( DATE_STR, 'MM/DD/Y')
| 04/01/1998 00:00:00.000000000
|
| 08/17/1995 00:00:00.000000000
|
Der folgende Ausdruck konvertiert einen String in ein vierstelliges Jahresdatumsformat. Das aktuelle Jahr ist 1998:
TO_DATE( DATE_STR, 'MM/DD/YYY')
| 04/01/1998 00:00:00.000000000
|
| 08/17/1995 00:00:00.000000000
|
Der folgende Ausdruck konvertiert Strings, die eine Angabe der Sekunden seit Mitternacht enthalten, in Datumswerte:
TO_DATE( DATE_STR, 'MM/DD/YYYY SSSSS')
Wenn das Ziel unterschiedliche Datumsformate akzeptiert, verwenden Sie TO_DATE und IS_DATE mit der Funktion DECODE zum Ermitteln der zulässigen Formate. Beispiel:
DECODE( TRUE,
--test first format
IS_DATE( CLOSE_DATE,'MM/DD/YYYY HH24:MI:SS' ),
--if true, convert to date
TO_DATE( CLOSE_DATE,'MM/DD/YYYY HH24:MI:SS' ),
--test second format; if true, convert to date
IS_DATE( CLOSE_DATE,'MM/DD/YYYY'), TO_DATE( CLOSE_DATE,'MM/DD/YYYY' ),
--test third format; if true, convert to date
IS_DATE( CLOSE_DATE,'MON DD YYYY'), TO_DATE( CLOSE_DATE,'MON DD YYYY'),
--if none of the above
ERROR( 'NOT A VALID DATE') )
TO_CHAR und TO_DATE können kombiniert werden, z. B. zum Konvertieren eines numerischen Werts für einen Monat in einen Textwert für einen Monat mithilfe einer Funktion:
TO_CHAR( TO_DATE( numeric_month, 'MM' ), 'MONTH' )