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