Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да добавите индикатора AD/BC към дата в Oracle

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Колко индекса на базата данни са твърде много?

  2. Имената на Oracle TNS не се показват при добавяне на нова връзка към SQL Developer

  3. Как да използвам Partition By или Max?

  4. Каква е разликата между AS и IS в съхранена процедура на Oracle?

  5. Oracle Database TLS1.2 / SSL връзка с помощта на JDBC тънък и JKS