Когато използвате TO_CHAR() функция за форматиране на стойност за дата и час в Oracle Database, можете да добавите индикатора AD/BC, като просто добавите или AD или BC към вашия модел на формат.
След това Oracle показва подходящия индикатор в зависимост от това дали стойността на датата е AD или BC.
Можете да го предоставите с всякакви главни или малки букви и със или без точки (напр. AD , A.D. ad , a.d и т.н.). След това Oracle ще покаже индикатора, както е посочено.
Пример
Ето пример за демонстрация:
SELECT
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY AD')
FROM DUAL; Резултат:
30-12-2030 AD
В този случай датата е AD и резултатът има AD добавено.
AD срещу BC
Oracle определя дали е AD или BC и показва приложимия индикатор.
Ето какво се случва, когато променя датата на стойност BC:
SELECT
TO_CHAR(date '-2030-12-30', 'DD-MM-YYYY AD')
FROM DUAL; Резултат:
30-12-2030 BC
Полученият индикатор е BC, въпреки че моят форматен низ е AD .
Горни срещу малки букви
Промяната на главния регистър на елемента на формата променя главния регистър на резултата:
SELECT
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY AD') AS "Uppercase",
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY ad') AS "Lowercase",
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY Ad') AS "Mixed"
FROM DUAL; Резултат:
Uppercase Lowercase Mixed ________________ ________________ ________________ 30-12-2030 AD 30-12-2030 ad 30-12-2030 Ad
Точки срещу без точки
Можете да включите точки, ако предпочитате:
SELECT
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY A.D.') AS "Uppercase",
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY a.d.') AS "Lowercase",
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY A.d.') AS "Mixed"
FROM DUAL; Резултат:
Uppercase Lowercase Mixed __________________ __________________ __________________ 30-12-2030 A.D. 30-12-2030 a.d. 30-12-2030 A.D.
Въпреки това, забележете, че това се отрази на индикатора за смесени случаи.
Днешна дата и час
Тук предавам SYSDATE за да използвате текущата дата:
SELECT
TO_CHAR(SYSDATE, 'DD-MM-YYYY A.D.')
FROM DUAL; Резултат:
29-08-2021 A.D.