Когато използвате 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.