Oracle
 sql >> Datenbank >  >> RDS >> Oracle

2 Möglichkeiten, die Minuten aus einem Datetime-Wert in der Oracle-Datenbank abzurufen

Unten sind zwei Funktionen, die verwendet werden können, um den Minutenteil eines datetime-Werts in der Oracle-Datenbank zurückzugeben.

Der EXTRACT() Funktion

Der EXTRACT(datetime) Die Funktion wird zum Extrahieren verschiedener datetime-Teile aus einem datetime-Wert verwendet. Dies schließt den Minutenteil ein.

Hier ist ein Beispiel:

SELECT EXTRACT(MINUTE FROM TIMESTAMP '2035-01-01 06:45:30')
FROM DUAL;

Ergebnis:

45

Es ist die MINUTE Schlüsselwort, das den Minutenteil aus dem datetime-Wert extrahiert. Wir können andere Datumsteile erhalten, indem wir sie in das relevante Schlüsselwort ändern. Beispiel:YEAR , MONTH , HOUR , SECOND usw.

Wir können die Funktion auch mit anderen datetime-Werten verwenden, wie z. B. DATE .

Der TO_CHAR(datetime) Funktion

Wir können auch den TO_CHAR(datetime) verwenden Funktion als alternative Methode, um die Minuten aus einem datetime-Wert abzurufen.

Diese Funktion akzeptiert den datetime- oder Intervallwert als erstes Argument und ein Formatmodell als zweites Argument. Die Funktion konvertiert dann den Wert in einen Datentyp von VARCHAR2 im angegebenen Format.

Das Formatmodell gibt das Format an, für das der datetime/interval-Wert zurückgegeben werden soll. Das Formatmodell besteht aus einem oder mehreren Formatelementen. Dies ermöglicht es uns, die Ergebnisse sorgfältig so zu gestalten, dass sie unser gewünschtes Format widerspiegeln.

Wenn wir nur die Minuten zurückgeben wollen, können wir den MI verwenden Formatelement zum Extrahieren des Protokolls:

SELECT TO_CHAR(TIMESTAMP '2035-01-01 06:45:30', 'MI')
FROM DUAL;

Ergebnis:

45

Wenn wir alternativ die Minuten zusammen mit den anderen Zeitkomponenten wie Stunden und Sekunden zurückgeben wollten, könnten wir entweder die verschiedenen Formatelemente hinzufügen oder einfach den TS verwenden Formatelement:

SELECT TO_CHAR(TIMESTAMP '2035-01-01 06:45:30', 'TS')
FROM DUAL;

Ergebnis:

6:45:30 AM