S Oracle Database můžeme použít TO_CHAR(datetime)
funkci vrátit století z hodnoty datetime.
K tomu můžeme použít buď CC
formátovací prvek nebo SCC
prvek formátu. Můžeme je zkombinovat s dalšími prvky formátu a dělat věci, jako je zobrazení pořadového čísla, hláskování století atd.
Příklad
Zde je příklad, který používá CC
format element pro vrácení století z hodnoty data:
SELECT TO_CHAR(DATE '2030-12-30', 'CC')
FROM DUAL;
Výsledek:
21
Negativní století
Můžeme použít SCC
formátovací prvek pro zahrnutí znaménka minus při předávání záporného data:
SELECT TO_CHAR(DATE '-2030-12-30', 'SCC')
FROM DUAL;
Výsledek:
-21
Pořadové číslo
Můžeme přidat TH
format element pro vrácení pořadového čísla století.
SELECT TO_CHAR(DATE '2030-12-30', 'CCTH')
FROM DUAL;
Výsledek:
21ST
Můžeme také přidat libovolný text k připojení slova „Century“:
SELECT TO_CHAR(DATE '2030-12-30', 'CCTH "Century"')
FROM DUAL;
Výsledek:
21. století
Všimněte si, že text je obklopen dvojitými uvozovkami.
Můžeme použít velká písmena podle potřeby:
SELECT TO_CHAR(DATE '2030-12-30', 'Ccth "Century"')
FROM DUAL;
Výsledek:
21. století
Všimněte si, že jsem ve formátu formátu napsal pouze první znak velkým. Chci říct, že jsem použil Ccth
místo CCth
. I když si možná myslíte, že CCth
výsledkem by mělo být malé řadové číslo, takhle to nefunguje. Když to uděláme, stane se toto:
SELECT TO_CHAR(DATE '2030-12-30', 'CCth "Century"')
FROM DUAL;
Výsledek:
21. století
V zásadě platí, že když jsou první dva znaky modelu formátu velká, výsledkem jsou velká písmena. Proto, chcete-li vytvořit velikost názvu, použijte pouze první znak formátu formátu.
Speled Century
Můžeme přidat SP
formát, aby bylo století uvedeno:
SELECT TO_CHAR(DATE '2030-12-30', 'CCTHSP "Century"')
FROM DUAL;
Výsledek:
Dvacáté první století
A můžeme použít velká písmena podle potřeby:
SELECT TO_CHAR(DATE '2030-12-30', 'Ccthsp "Century"')
FROM DUAL;
Výsledek:
21. století
TH
můžeme vynechat specifikátor formátu, pokud nechceme pořadové číslo:
SELECT TO_CHAR(DATE '2030-12-30', 'Ccsp')
FROM DUAL;
Výsledek:
Dvacet jedna
20. vs. 21. století
Následující pravidla platí s ohledem na to, kdy je datum považováno za 20. století oproti 21. století.
- Pokud jsou poslední 2 číslice čtyřmístného roku mezi 01 a 99 (včetně), pak je století o jednu větší než první 2 číslice daného roku.
- Pokud jsou poslední 2 číslice čtyřmístného roku 00, pak je století stejné jako první 2 číslice daného roku.
Stejný koncept platí pro další století, jako je 13. století, 30. století atd.
Příklad:
SELECT
TO_CHAR(DATE '1999-12-30', 'CC') AS "1999",
TO_CHAR(DATE '2000-12-30', 'CC') AS "2000",
TO_CHAR(DATE '1299-12-30', 'CC') AS "1299",
TO_CHAR(DATE '1300-12-30', 'CC') AS "1300",
TO_CHAR(DATE '2999-12-30', 'CC') AS "2999",
TO_CHAR(DATE '3000-12-30', 'CC') AS "3000"
FROM DUAL;
Výsledek:
1999 2000 1299 1300 2999 3000 _______ _______ _______ _______ _______ _______ 20 20 13 13 30 >Pro formátování hodnot datetime v Oracle je k dispozici mnohem více prvků formátu. Úplný seznam najdete v části Seznam prvků formátu Datetime v Oracle.