Lorsque vous utilisez Oracle Database, vous pouvez utiliser le TO_CHAR(datetime) fonction pour renvoyer diverses parties d'une valeur datetime, y compris les fractions de seconde.
Pour renvoyer la partie secondes fractionnaires à partir d'une valeur datetime, utilisez le FF élément de format.
Exemple
Voici un exemple pour illustrer :
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'FF')
FROM DUAL; Résultat :
123456789
Il est également possible de limiter la précision en ajoutant un nombre au FF partie :
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'FF5')
FROM DUAL; Résultat :
12345
Le nombre peut être 1 à 9 .
Ajoutez la partie des secondes
Dans les exemples ci-dessus, je n'ai renvoyé que la fraction de seconde et rien d'autre.
Nous pouvons inclure la partie des secondes ainsi que les fractions de secondes. Pour cela, utilisez le SS . Nous pouvons également utiliser X pour spécifier le caractère de base (le symbole utilisé pour séparer la partie entière de la partie fractionnaire) :
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL; Résultat :
37.123456789
Bien que vous puissiez fournir explicitement votre propre caractère de base - par exemple, un point (. ), le X L'élément de format peut être utile pour le portage dans différentes langues/territoires.
Lorsque j'ai exécuté les exemples ci-dessus, mon NLS_TERRITORY le paramètre a été défini sur AUSTRALIA , ce qui fait que le caractère de base est un point.
Voici ce qui se passe lorsque je modifie mon NLS_TERRITORY paramètre en GERMANY :
ALTER SESSION SET NLS_TERRITORY = 'GERMANY';
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL; Résultat :
37,123456789
Maintenant, le caractère de base est une virgule.
C'est en fait le NLS_NUMERIC_CHARACTERS paramètre qui spécifie quel caractère est utilisé pour le caractère de base. Cependant, changer le NLS_TERRITORY paramètre modifie implicitement le NLS_NUMERIC_CHARACTERS paramètre. Vous pouvez également mettre à jour explicitement le NLS_NUMERIC_CHARACTERS paramètre si vous préférez, auquel cas votre NLS_TERRITORY paramètre restera inchangé.
Voir la liste des éléments de format Datetime dans Oracle pour une liste complète des éléments de format pouvant être utilisés pour formater les valeurs datetime.