När du använder Oracle Database kan du använda TO_CHAR(datetime) funktion för att returnera olika delar av ett datetime-värde, inklusive bråksekunder.
För att returnera delen av bråkdelar från ett datetime-värde använder du FF formatelement.
Exempel
Här är ett exempel att visa:
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'FF')
FROM DUAL; Resultat:
123456789
Det är också möjligt att begränsa precisionen genom att lägga till ett nummer till FF del:
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'FF5')
FROM DUAL; Resultat:
12345
Numret kan vara 1 till 9 .
Förbered sekunddelen
I exemplen ovan returnerade jag bara bråkdelssekundersdelen och inget annat.
Vi kan inkludera både sekundsdelen och bråksekunderna. För att göra detta, använd SS . Vi kan också använda X för att ange radixtecknet (symbolen som används för att separera heltalsdelen från bråkdelen):
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL; Resultat:
37.123456789
Även om du uttryckligen kan ange ditt eget radixtecken – till exempel ett punkt (. ), X formatelement kan vara användbart för portering över olika språk/territorier.
När jag körde exemplen ovan, min NLS_TERRITORY parametern sattes till AUSTRALIA , vilket resulterade i att radixkaraktären blev ett punkt.
Här är vad som händer när jag ändrar min NLS_TERRITORY parameter till GERMANY :
ALTER SESSION SET NLS_TERRITORY = 'GERMANY';
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL; Resultat:
37,123456789
Nu är radixtecknet ett kommatecken.
Det är faktiskt NLS_NUMERIC_CHARACTERS parameter som anger vilket tecken som används för tecknet radix. Ändrar dock NLS_TERRITORY parametern ändrar implicit NLS_NUMERIC_CHARACTERS parameter. Du kan också explicit uppdatera NLS_NUMERIC_CHARACTERS parameter om du föredrar, i vilket fall din NLS_TERRITORY parametern förblir oförändrad.
Se Lista över Datetime Format Elements i Oracle för en fullständig lista över formatelement som kan användas för att formatera datetime-värden.