Exemples
L'expression suivante renvoie des valeurs date pour les chaînes dans le port DATE_PROMISED. TO_DATE renvoie toujours une date et une heure. Si vous transmettez une chaîne qui n'a pas de valeur d'heure, la date renvoyée inclura toujours l'heure 00:00:00.000000000. Si vous exécutez un mappage au vingtième siècle, il s'agira du 19e siècle. Dans cet exemple, l'année en cours sur le nœud exécutant le
Service d'intégration de données
est 1998. Le format date/heure pour la colonne cible est MON DD YY HH24:MI SS ; le
Service d'intégration de données
tronque donc la valeur date/heure en secondes lors de l'écriture dans la cible :
TO_DATE( DATE_PROMISED, 'MM/DD/YY' )
L'expression suivante renvoie les valeurs de date et heure pour les chaînes dans le port DATE_PROMISED. Si vous transmettez une chaîne qui n'a pas de valeur d'heure, le
Service d'intégration de données
renvoie une erreur. Si vous exécutez un mappage au vingtième siècle, il s'agira du 19e siècle. L'année en cours sur le nœud exécutant le
Service d'intégration de données
est 1998 :
TO_DATE( DATE_PROMISED, 'MON DD YYYY HH12:MI:SSAM' )
| Error. Integration Service skips this row.
|
L'expression suivante convertit les chaînes dans le port SHIP_DATE_MJD_STRING en valeurs de date :
TO_DATE (SHIP_DATE_MJD_STR, 'J')
| Dec 31 1999 00:00:00.000000000
|
| Jan 1 1900 00:00:00.000000000
|
La chaîne de format J ne contenant pas la portion d'heure d'une date, l'heure des valeurs de retour est définie à 00:00:00.000000000.
L'expression suivante convertit une chaîne en un format d'année à quatre chiffres. L'année en cours est 1998 :
TO_DATE( DATE_STR, 'MM/DD/RR')
| 04/01/1998 00:00:00.000000000
|
| 08/17/2005 00:00:00.000000000
|
L'expression suivante convertit une chaîne en un format d'année à quatre chiffres. L'année en cours est 1998 :
TO_DATE( DATE_STR, 'MM/DD/YY')
| 04/01/1998 00:00:00.000000000
|
| 08/17/1905 00:00:00.000000000
|
Pour la deuxième ligne, RR renvoie l'année 2005 et YY renvoie l'année 1905.
L'expression suivante convertit une chaîne en un format d'année à quatre chiffres. L'année en cours est 1998 :
TO_DATE( DATE_STR, 'MM/DD/Y')
| 04/01/1998 00:00:00.000000000
|
| 08/17/1995 00:00:00.000000000
|
L'expression suivante convertit une chaîne en un format d'année à quatre chiffres. L'année en cours est 1998 :
TO_DATE( DATE_STR, 'MM/DD/YYY')
| 04/01/1998 00:00:00.000000000
|
| 08/17/1995 00:00:00.000000000
|
L'expression suivante convertit les chaînes comprenant les secondes à partir de minuit en valeurs de date :
TO_DATE( DATE_STR, 'MM/DD/YYYY SSSSS')
Si la cible accepte différents formats de date, utilisez TO_DATE et IS_DATE avec la fonction DECODE pour évaluer les formats acceptables. Par exemple :
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') )
Vous pouvez associer TO_CHAR et TO_DATE pour convertir une valeur numérique pour un mois en valeur de texte pour un mois à l'aide d'une fonction telle que la suivante :
TO_CHAR( TO_DATE( numeric_month, 'MM' ), 'MONTH' )