Korzystając z bazy danych Oracle, możesz użyć TO_CHAR(datetime)
funkcja zwracająca różne części wartości daty i godziny, w tym ułamki sekund.
Aby zwrócić część ułamków sekund z wartości daty i godziny, użyj FF
element formatu.
Przykład
Oto przykład do zademonstrowania:
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'FF')
FROM DUAL;
Wynik:
123456789
Możliwe jest również ograniczenie precyzji poprzez dodanie liczby do FF
część:
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'FF5')
FROM DUAL;
Wynik:
12345
Liczba może wynosić 1
do 9
.
Dołącz część sekund
W powyższych przykładach zwróciłem tylko część ułamków sekund i nic więcej.
Możemy uwzględnić część sekundową, a także ułamki sekund. Aby to zrobić, użyj SS
. Możemy również użyć X
aby określić znak podstawy (symbol używany do oddzielenia części całkowitej od części ułamkowej):
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL;
Wynik:
37.123456789
Chociaż możesz wyraźnie podać swój własny znak podstawy – na przykład kropkę (.
), X
element formatu może być przydatny do przenoszenia na różne języki/terytoria.
Kiedy uruchomiłem powyższe przykłady, mój NLS_TERRITORY
parametr został ustawiony na AUSTRALIA
, co spowodowało, że podstawa znaku była kropką.
Oto, co się stanie, gdy zmienię moje NLS_TERRITORY
parametr do GERMANY
:
ALTER SESSION SET NLS_TERRITORY = 'GERMANY';
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL;
Wynik:
37,123456789
Teraz podstawa to przecinek.
W rzeczywistości jest to NLS_NUMERIC_CHARACTERS
parametr określający, jaki znak jest używany dla znaku podstawy. Jednak zmiana NLS_TERRITORY
parametr niejawnie zmienia NLS_NUMERIC_CHARACTERS
parametr. Możesz również jawnie zaktualizować NLS_NUMERIC_CHARACTERS
parametr jeśli wolisz, w takim przypadku Twój NLS_TERRITORY
parametr pozostanie niezmieniony.
Patrz Lista elementów formatu daty i godziny w Oracle, aby uzyskać pełną listę elementów formatu, których można użyć do formatowania wartości daty i godziny.