Bei Verwendung von Oracle Database können Sie TO_CHAR(datetime)
verwenden Funktion, um verschiedene Teile eines datetime-Werts zurückzugeben, einschließlich der Sekundenbruchteile.
Um den Sekundenbruchteil von einem datetime-Wert zurückzugeben, verwenden Sie den FF
format-Element.
Beispiel
Hier ist ein Beispiel zur Veranschaulichung:
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'FF')
FROM DUAL;
Ergebnis:
123456789
Es ist auch möglich, die Genauigkeit einzuschränken, indem man eine Zahl an den FF
anhängt Teil:
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'FF5')
FROM DUAL;
Ergebnis:
12345
Die Zahl kann 1
sein bis 9
.
Sekundenteil voranstellen
In den obigen Beispielen habe ich nur die Sekundenbruchteile zurückgegeben und sonst nichts.
Wir können sowohl den Sekundenteil als auch die Sekundenbruchteile einbeziehen. Verwenden Sie dazu den SS
. Wir können auch X
verwenden um das Basiszeichen anzugeben (das Symbol, das verwendet wird, um den ganzzahligen Teil vom Bruchteil zu trennen):
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL;
Ergebnis:
37.123456789
Während Sie explizit Ihr eigenes Radix-Zeichen angeben könnten – zum Beispiel einen Punkt (.
), das X
format-Element kann für die Portierung über verschiedene Sprachen/Gebiete hinweg nützlich sein.
Als ich die obigen Beispiele ausgeführt habe, war mein NLS_TERRITORY
Parameter wurde auf AUSTRALIA
gesetzt , was dazu führte, dass das Radixzeichen ein Punkt war.
Folgendes passiert, wenn ich mein NLS_TERRITORY
ändere Parameter auf GERMANY
:
ALTER SESSION SET NLS_TERRITORY = 'GERMANY';
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL;
Ergebnis:
37,123456789
Jetzt ist das Basiszeichen ein Komma.
Es sind eigentlich die NLS_NUMERIC_CHARACTERS
Parameter, der angibt, welches Zeichen für das Basiszeichen verwendet wird. Ändern Sie jedoch NLS_TERRITORY
Parameter ändert implizit die NLS_NUMERIC_CHARACTERS
Parameter. Sie können die NLS_NUMERIC_CHARACTERS
auch explizit aktualisieren Parameter, wenn Sie es vorziehen, in diesem Fall Ihr NLS_TERRITORY
Parameter bleibt unverändert.
Siehe Liste der Datetime-Formatelemente in Oracle für eine vollständige Liste der Formatelemente, die zum Formatieren von Datetime-Werten verwendet werden können.