sql >> Databasteknik >  >> RDS >> Oracle

Hur man returnerar bråkdelar av sekunder från ett Datetime-värde i Oracle

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.


  1. Skapa profiler i Oracle för användarsäkerhet

  2. Konvertera ett datum till Julian Day i PostgreSQL

  3. Förbättra MySQL-prestanda med avancerade InnoDB-inställningar

  4. java.sql.SQLException:Uttömd resultatuppsättning