W Oracle Database możemy użyć TH
element formatu, aby dodać przyrostek liczby porządkowej do wyniku TO_CHAR()
operacja podczas formatowania dat.
Na przykład zamiast wyprowadzać 10 Feb
możemy wypisać 10 Feb
. Lub zamiast wyprowadzać 21 century
, możemy wypisać 21 century
. To samo dotyczy elementów ortograficznych daty. Na przykład zamiast Twenty One
, możemy wypisać Twenty First
.
Przykład
Oto przykład do zademonstrowania:
SELECT TO_CHAR(DATE '2030-12-01', 'Ddth Month')
FROM DUAL;
Wynik:
01st December
Możemy użyć fm
modyfikator formatu, aby usunąć wiodące zero, jeśli jest to wymagane:
SELECT TO_CHAR(DATE '2030-12-01', 'fmDdth Month')
FROM DUAL;
Wynik:
1st December
Zauważ, że wielkość liter w liczbie porządkowej jest określona przez odpowiedni element formatu (w tym przypadku Dd
część), nie TH
przyrostek.
Oto, co się stanie, gdy zmienimy drugi d
na wielkie litery:
SELECT TO_CHAR(DATE '2030-12-01', 'fmDDth Month')
FROM DUAL;
Wynik:
1st December
Więc mimo że udostępniliśmy th
przyrostek pisany małymi literami, nie miał wpływu na wynik. Wielkość liter została określona przez element formatu (nie wliczając fm
modyfikator formatu).
Możemy również dodać liczbę porządkową podczas zwracania innych składników daty, takich jak wiek:
SELECT TO_CHAR(DATE '2030-12-30', 'Ccth "Century"')
FROM DUAL;
Wynik:
21st Century
Daty ortograficzne
Możemy dodać SP
element formatu, aby napisać część dotyczącą daty:
SELECT TO_CHAR(DATE '2030-12-30', 'CCTHSP "Century"')
FROM DUAL;
Wynik:
TWENTY-FIRST Century
W razie potrzeby możemy używać wielkich liter:
SELECT TO_CHAR(DATE '2030-12-30', 'Ccthsp "Century"')
FROM DUAL;
Wynik:
Twenty-First Century
Oto, co się dzieje, gdy pominiemy TH
specyfikator formatu:
SELECT TO_CHAR(DATE '2030-12-30', 'Ccsp')
FROM DUAL;
Wynik:
Twenty-One