I Oracle Database kan vi använda TH formatelement för att lägga till ordningstalssuffixet till resultatet av en TO_CHAR() operation vid formatering av datum.
Till exempel, istället för att mata ut 10 Feb vi kunde mata ut 10th Feb . Eller istället för att mata ut 21 century , kan vi mata ut 21st century . Detsamma gäller för stavat datumkomponenter. Till exempel istället för Twenty One , kan vi mata ut Twenty First .
Exempel
Här är ett exempel att visa:
SELECT TO_CHAR(DATE '2030-12-01', 'Ddth Month')
FROM DUAL; Resultat:
01st December
Vi kan använda fm formatmodifierare för att ta bort den inledande nollan om det behövs:
SELECT TO_CHAR(DATE '2030-12-01', 'fmDdth Month')
FROM DUAL; Resultat:
01st December
Observera att versaler i ordningsnumret bestäms av det relevanta formatelementet (i detta fall Dd del), inte TH ändelse.
Här är vad som händer när vi ändrar den andra d till versaler:
SELECT TO_CHAR(DATE '2030-12-01', 'fmDDth Month')
FROM DUAL; Resultat:
1ST December
Så även om vi tillhandahöll den th suffix med gemener, det hade ingen inverkan på resultatet. Stora versaler bestämdes av formatelementet (inte inklusive fm). formatmodifierare).
Vi kan också lägga till ordningsnumret när vi returnerar andra datumkomponenter, till exempel århundradet:
SELECT TO_CHAR(DATE '2030-12-30', 'Ccth "Century"')
FROM DUAL; Resultat:
21st Century
Stavade datum
Vi kan lägga till SP formatelement för att få datumdelen utskriven:
SELECT TO_CHAR(DATE '2030-12-30', 'CCTHSP "Century"')
FROM DUAL; Resultat:
TWENTY-FIRST Century
Och vi kan använda versaler efter behov:
SELECT TO_CHAR(DATE '2030-12-30', 'Ccthsp "Century"')
FROM DUAL; Resultat:
TWENTY-FIRST Century
Det här är vad som händer när vi utelämnar TH formatspecifikation:
SELECT TO_CHAR(DATE '2030-12-30', 'Ccsp')
FROM DUAL; Resultat:
Twenty-One