В Oracle Database можем да използваме TH
Елемент формат за добавяне на суфикса на пореден номер към резултата от TO_CHAR()
операция при форматиране на дати.
Например, вместо да извеждате 10 Feb
можем да изведем 10 Feb
. Или вместо да извеждате 21 century
, можем да изведем 21st century
. Същото важи и за компонентите за изписана дата. Например вместо Twenty One
, можем да изведем Twenty First
.
Пример
Ето пример за демонстрация:
SELECT TO_CHAR(DATE '2030-12-01', 'Ddth Month')
FROM DUAL;
Резултат:
01st December
Можем да използваме fm
модификатор на формат за премахване на водещата нула, ако е необходимо:
SELECT TO_CHAR(DATE '2030-12-01', 'fmDdth Month')
FROM DUAL;
Резултат:
1st December
Имайте предвид, че изписването с главни букви на поредния номер се определя от съответния елемент на формат (в този случай Dd
част), не TH
наставка.
Ето какво се случва, когато променим втория d
до главни букви:
SELECT TO_CHAR(DATE '2030-12-01', 'fmDDth Month')
FROM DUAL;
Резултат:
1st December
Така че, въпреки че предоставихме th
суфикс с малки букви, това не оказва влияние върху резултата. Изписването с главни букви се определя от елемента формат (без fm
). модификатор на формат).
Можем също да добавим поредния номер, когато връщаме други компоненти за дата, като века:
SELECT TO_CHAR(DATE '2030-12-30', 'Ccth "Century"')
FROM DUAL;
Резултат:
21st Century
Изписани дати
Можем да добавим SP
форматен елемент, за да има изписана част от датата:
SELECT TO_CHAR(DATE '2030-12-30', 'CCTHSP "Century"')
FROM DUAL;
Резултат:
TWENTY-FIRST Century
И можем да използваме главни букви според изискванията:
SELECT TO_CHAR(DATE '2030-12-30', 'Ccthsp "Century"')
FROM DUAL;
Резултат:
Twenty-First Century
Ето какво се случва, когато пропуснем TH
спецификатор на формат:
SELECT TO_CHAR(DATE '2030-12-30', 'Ccsp')
FROM DUAL;
Резултат:
Twenty-One