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

Добавете пореден индикатор към дата в Oracle

В 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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо CONNECT BY LEVEL в таблица връща допълнителни редове?

  2. Как да обвия PL SQL код в Oracle?

  3. OracleParameter и IN клауза

  4. Опитът да експортирате Oracle чрез PL/SQL дава дата 0000-00-00

  5. Вмъкване на няколко реда в Oracle