Wanneer u Oracle Database gebruikt, kunt u de TO_CHAR(datetime)
. gebruiken functie om verschillende delen van een datetime-waarde te retourneren, inclusief de fractionele seconden.
Om het fractionele secondengedeelte van een datetime-waarde te retourneren, gebruikt u de FF
formaatelement.
Voorbeeld
Hier is een voorbeeld om te demonstreren:
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'FF')
FROM DUAL;
Resultaat:
123456789
Het is ook mogelijk om de precisie te beperken door een getal toe te voegen aan de FF
deel:
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'FF5')
FROM DUAL;
Resultaat:
12345
Het getal kan 1
zijn t/m 9
.
Plaats het tweede deel
In de bovenstaande voorbeelden heb ik alleen het gedeelte met fractionele seconden geretourneerd en niets anders.
We kunnen zowel het secondengedeelte als de fractionele seconden opnemen. Gebruik hiervoor de SS
. We kunnen ook X
. gebruiken om het wortelteken te specificeren (het symbool dat wordt gebruikt om het gehele deel van het breukdeel te scheiden):
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL;
Resultaat:
37.123456789
Hoewel u expliciet uw eigen wortelteken zou kunnen opgeven, bijvoorbeeld een punt (.
), de X
format-element kan handig zijn voor het overzetten naar verschillende talen/territoria.
Toen ik de bovenstaande voorbeelden uitvoerde, mijn NLS_TERRITORY
parameter is ingesteld op AUSTRALIA
, wat ertoe leidde dat het wortelteken een punt was.
Dit gebeurt er als ik mijn NLS_TERRITORY
wijzig parameter naar GERMANY
:
ALTER SESSION SET NLS_TERRITORY = 'GERMANY';
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL;
Resultaat:
37,123456789
Nu is het wortelteken een komma.
Het is eigenlijk de NLS_NUMERIC_CHARACTERS
parameter die specificeert welk teken wordt gebruikt voor het wortelteken. Echter, het wijzigen van de NLS_TERRITORY
parameter verandert impliciet de NLS_NUMERIC_CHARACTERS
parameter. U kunt de NLS_NUMERIC_CHARACTERS
. ook expliciet bijwerken parameter als je wilt, in welk geval je NLS_TERRITORY
parameter blijft ongewijzigd.
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.