sql >> Database >  >> RDS >> Oracle

Hoe het aantal seconden na middernacht in Oracle Database te retourneren?

Oracle Database biedt de SSSSS format-element waarmee we het aantal seconden na middernacht uit een bepaalde datetime-waarde kunnen halen.

Voorbeeld

Hier is een voorbeeld om te demonstreren:

SELECT 
    TO_CHAR(TIMESTAMP '2035-01-01 00:01:05', 'SSSSS')
FROM DUAL;

Resultaat:

00065

Hier kunnen we zien dat het tijdsgedeelte 00:01:05 . is , wat betekent dat het 1 minuut en 5 seconden na 12 uur is.

1 minuut en 5 seconden is in totaal 65 seconden.

Hier is nog een voorbeeld:

SELECT 
    TO_CHAR(TIMESTAMP '2035-01-01 23:59:59', 'SSSSS')
FROM DUAL;

Resultaat:

86399

Nu zijn we aan de andere kant van het uiterste.

Eigenlijk zouden we nog een stap verder kunnen gaan en ook de fractionele seconden teruggeven:

SELECT 
    TO_CHAR(TIMESTAMP '2035-01-01 23:59:59.999999999', 'SSSSSXFF')
FROM DUAL;

Resultaat:

86399.999999999

In dit geval gebruikten we de FF format element om de fractionele seconden terug te geven, en de X format-element om het wortelteken terug te geven. Dit teken kan verschillen, afhankelijk van de landinstelling van de huidige sessie.

Zie Lijst met datum/tijd-indelingselementen in Oracle voor een volledige lijst met opmaakelementen die kunnen worden gebruikt om datum/tijd-waarden op te maken.


  1. Hoe parameters te gebruiken in een 'where value in...'-clausule?

  2. UUID-botsingsrisico met verschillende algoritmen

  3. Hoe MAX() te gebruiken voor een subqueryresultaat?

  4. Wat is in SQL / MySQL het verschil tussen ON en WHERE in een join-instructie?