Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak dodać wskaźnik AD/BC do daty w Oracle?

Używając TO_CHAR() funkcja formatowania wartości daty i godziny w bazie danych Oracle, możesz dodać wskaźnik AD/BC, po prostu dodając A.D. lub BC do Twojego modelu formatu.

Oracle wyświetla następnie odpowiedni wskaźnik, w zależności od tego, czy wartość daty to AD czy BC.

Możesz podać go za pomocą dowolnej wielkiej lub małej litery, z kropkami lub bez (np. A.D. , A.D. a.d , a.d itp.). Oracle wyświetli wskaźnik zgodnie ze specyfikacją.

Przykład

Oto przykład do zademonstrowania:

SELECT 
    TO_CHAR(date '2030-12-30', 'DD-MM-YYYY AD')
FROM DUAL;

Wynik:

30-12-2030 AD

W tym przypadku datą jest AD, więc wynik ma A.D. dołączono.

AD kontra BC

Oracle sprawdza, czy jest to AD, czy BC, i wyświetla odpowiedni wskaźnik.

Oto, co się stanie, gdy zmienię datę na wartość BC:

SELECT 
    TO_CHAR(date '-2030-12-30', 'DD-MM-YYYY AD')
FROM DUAL;

Wynik:

30-12-2030 BC

Wynikowy wskaźnik to BC, mimo że mój ciąg formatu to A.D. .

Wielkie a małe litery

Zmiana wielkości liter elementu formatu zmienia wielkość liter w wyniku:

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;

Wynik:

       Uppercase        Lowercase            Mixed 
________________ ________________ ________________ 
30-12-2030 AD    30-12-2030 ad    30-12-2030 Ad   

Kropki kontra brak kropek

Jeśli wolisz, możesz dodać kropki:

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;

Wynik:

         Uppercase          Lowercase              Mixed 
__________________ __________________ __________________ 
30-12-2030 A.D.    30-12-2030 a.d.    30-12-2030 A.D.    

Chociaż zauważ, że wpłynęło to na wskaźnik mieszanych wielkości liter.

Dzisiejsza data i godzina

Tutaj przekazuję SYSDATE aby użyć aktualnej daty:

SELECT 
    TO_CHAR(SYSDATE, 'DD-MM-YYYY A.D.')
FROM DUAL;

Wynik:

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. Logiczny widok modelu danych w R12.2

  2. SQL Dev 4.2 Top SQL

  3. Zalecenia dotyczące obsługi Oracle i SQL Server w tej samej aplikacji ASP.NET z NHibernate

  4. ORA-00903:nieprawidłowa nazwa tabeli w PreparedStatement

  5. Lekki dla Oracle