Při používání databáze Oracle můžete použít TO_CHAR(datetime) funkce pro vrácení různých částí hodnoty datetime, včetně zlomků sekund.
Chcete-li vrátit část zlomků sekund z hodnoty datetime, použijte FF prvek formátu.
Příklad
Zde je příklad k demonstraci:
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'FF')
FROM DUAL; Výsledek:
123456789
Je také možné omezit přesnost připojením čísla k FF část:
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'FF5')
FROM DUAL; Výsledek:
12345
Číslo může být 1 až 9 .
Předřadit sekundovou část
Ve výše uvedených příkladech jsem vrátil pouze část zlomků sekund a nic jiného.
Můžeme zahrnout sekundovou část i zlomkovou sekundu. Chcete-li to provést, použijte SS . Můžeme také použít X k určení znaku radix (symbol používaný k oddělení části celého čísla od části zlomkové):
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL; Výsledek:
37.123456789
I když můžete explicitně zadat svůj vlastní radixový znak – například tečku (. ), X format element může být užitečný pro přenos mezi různými jazyky/územími.
Když jsem spustil výše uvedené příklady, moje NLS_TERRITORY parametr byl nastaven na AUSTRALIA , což vedlo k tomu, že znak radix byl tečkou.
Zde je to, co se stane, když změním své NLS_TERRITORY parametr na GERMANY :
ALTER SESSION SET NLS_TERRITORY = 'GERMANY';
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL; Výsledek:
37,123456789
Nyní je znakem radix čárka.
Ve skutečnosti je to NLS_NUMERIC_CHARACTERS parametr, který určuje, jaký znak se použije pro znak radix. Nicméně, změna NLS_TERRITORY parametr implicitně mění NLS_NUMERIC_CHARACTERS parametr. Můžete také explicitně aktualizovat NLS_NUMERIC_CHARACTERS Pokud chcete, v takovém případě vaše NLS_TERRITORY parametr zůstane nezměněn.
Úplný seznam prvků formátu, které lze použít k formátování hodnot datetime, naleznete v části Seznam prvků formátu Datetime v Oracle.