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.