I Oracle Database kan vi bruge TH
formatelement for at tilføje ordenstalssuffikset til resultatet af en TO_CHAR()
handling ved formatering af datoer.
For eksempel i stedet for at udskrive 10 Feb
vi kunne udskrive 10th Feb
. Eller i stedet for at udskrive 21 century
, kan vi udlæse 21st century
. Det samme gælder for stavet datokomponenter. For eksempel i stedet for Twenty One
, kan vi udlæse Twenty First
.
Eksempel
Her er et eksempel til demonstration:
SELECT TO_CHAR(DATE '2030-12-01', 'Ddth Month')
FROM DUAL;
Resultat:
01st December
Vi kan bruge fm
formatmodifikator for at fjerne det indledende nul, hvis det kræves:
SELECT TO_CHAR(DATE '2030-12-01', 'fmDdth Month')
FROM DUAL;
Resultat:
01st December
Bemærk, at ordinaltallets store bogstaver bestemmes af det relevante formatelement (i dette tilfælde Dd
del), ikke TH
suffiks.
Her er, hvad der sker, når vi ændrer den anden d
til store bogstaver:
SELECT TO_CHAR(DATE '2030-12-01', 'fmDDth Month')
FROM DUAL;
Resultat:
01st December
Så selvom vi leverede den th
suffiks med små bogstaver, havde det ingen indflydelse på resultatet. Store bogstaver blev bestemt af formatelementet (ikke inklusive fm
). formatmodifikator).
Vi kan også tilføje ordenstal, når vi returnerer andre datokomponenter, såsom århundredet:
SELECT TO_CHAR(DATE '2030-12-30', 'Ccth "Century"')
FROM DUAL;
Resultat:
21st Century
Stavede datoer
Vi kan tilføje SP
formatelement for at få datodelen stavet ud:
SELECT TO_CHAR(DATE '2030-12-30', 'CCTHSP "Century"')
FROM DUAL;
Resultat:
TWENTY-FIRST Century
Og vi kan bruge store bogstaver efter behov:
SELECT TO_CHAR(DATE '2030-12-30', 'Ccthsp "Century"')
FROM DUAL;
Resultat:
Twenty-First Century
Her er, hvad der sker, når vi udelader TH
formatspecifikation:
SELECT TO_CHAR(DATE '2030-12-30', 'Ccsp')
FROM DUAL;
Resultat:
Twenty-One