Oracle Database fournit le SSSSS
élément de format qui nous permet d'obtenir le nombre de secondes après minuit à partir d'une valeur datetime donnée.
Exemple
Voici un exemple pour illustrer :
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 00:01:05', 'SSSSS')
FROM DUAL;
Résultat :
00065
Ici, nous pouvons voir que la partie horaire est 00:01:05
, ce qui signifie qu'il est minuit passé 1 minute et 5 secondes.
1 minute et 5 secondes font 65 secondes au total.
Voici un autre exemple :
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 23:59:59', 'SSSSS')
FROM DUAL;
Résultat :
86399
Nous sommes maintenant à l'autre bout de l'extrême.
En fait, nous pourrions aller plus loin et renvoyer également les fractions de seconde :
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 23:59:59.999999999', 'SSSSSXFF')
FROM DUAL;
Résultat :
86399.999999999
Dans ce cas, nous avons utilisé le FF
élément de format pour renvoyer les fractions de seconde, et le X
élément de format pour renvoyer le caractère de base. Ce caractère peut être différent, selon les paramètres régionaux de la session en cours.
Voir 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.