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

Wielkie litery w nazwach dni i miesięcy podczas formatowania dat w Oracle

Pobierając nazwę dnia i/lub miesiąca z daty w Oracle, możesz chcieć zwrócić ją wielkimi, małymi lub tytułowymi literami.

Na szczęście jest to łatwe. Wynik odzwierciedla wielkość liter w modelu formatu.

Przykład

Używając TO_CHAR() aby zwrócić części daty z wartości daty, użyj co najmniej jednego elementu formatu do utworzenia modelu formatu. Ten model formatu określa sposób formatowania daty po jej zwróceniu.

Możemy użyć DAY i MONTH elementy formatu, aby zwrócić odpowiednio nazwę dnia i nazwę miesiąca.

Ale co ważne, wielkość liter, której używamy dla tych elementów formatu, określa wielkość liter w wyniku.

Przykład:

SELECT 
    TO_CHAR( DATE '2037-12-03', 'month' ) AS "month",
    TO_CHAR( DATE '2037-12-03', 'Month' ) AS "Month",
    TO_CHAR( DATE '2037-12-03', 'MONTH' ) AS "MONTH"
FROM DUAL;

Wynik:

       month        Month        MONTH 
____________ ____________ ____________ 
december     December     DECEMBER    

Tak samo jest w DAY element formatu:

SELECT 
    TO_CHAR( DATE '2037-12-03', 'day' ) AS "day",
    TO_CHAR( DATE '2037-12-03', 'Day' ) AS "Day",
    TO_CHAR( DATE '2037-12-03', 'DAY' ) AS "DAY"
FROM DUAL;

Wynik:

         day          Day          DAY 
____________ ____________ ____________ 
thursday     Thursday     THURSDAY     

Dotyczy to również zwrotu skróconej wersji dnia lub miesiąca.

Przykład:

SELECT 
    TO_CHAR( DATE '2037-12-03', 'mon' ) AS "mon",
    TO_CHAR( DATE '2037-12-03', 'Mon' ) AS "Mon",
    TO_CHAR( DATE '2037-12-03', 'MON' ) AS "MON"
FROM DUAL;

Wynik:

   mon    Mon    MON 
______ ______ ______ 
dec    Dec    DEC   

Oraz:

SELECT 
    TO_CHAR( DATE '2037-12-03', 'dy' ) AS "dy",
    TO_CHAR( DATE '2037-12-03', 'Dy' ) AS "Dy",
    TO_CHAR( DATE '2037-12-03', 'DY' ) AS "DY"
FROM DUAL;

Wynik:

    dy     Dy     DY 
______ ______ ______ 
thu    Thu    THU   

Rok

Być może mniej znanym faktem jest to, że Oracle Database zapewnia również elementy formatu, które zwracają pełny rok. W szczególności YEAR i YEAR (na zaspokojenie dat przed BC).

Wielkość liter w tych elementach formatu również wpływa na wynik:

SELECT 
    TO_CHAR( DATE '2037-12-03', 'year' ) AS "year",
    TO_CHAR( DATE '2037-12-03', 'Year' ) AS "Year",
    TO_CHAR( DATE '2037-12-03', 'YEAR' ) AS "YEAR"
FROM DUAL;

Wynik:

                  year                   Year                   YEAR 
______________________ ______________________ ______________________ 
twenty thirty-seven    Twenty Thirty-Seven    TWENTY THIRTY-SEVEN    

Oraz:

SELECT 
    TO_CHAR( DATE '-2037-12-03', 'syear' ) AS "syear",
    TO_CHAR( DATE '-2037-12-03', 'Syear' ) AS "Syear",
    TO_CHAR( DATE '-2037-12-03', 'SYEAR' ) AS "SYEAR"
FROM DUAL;

Wynik:

                  syear                   Syear                   SYEAR 
_______________________ _______________________ _______________________ 
-twenty thirty-seven    -Twenty Thirty-Seven    -TWENTY THIRTY-SEVEN   

Stosując wielkość liter z Syear format, pamiętajmy, że tylko pierwszy znak – S znak – jest pisany wielkimi literami, a wszystkie pozostałe znaki są małymi literami (w tym Y znak):


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zainstalować ODP.NET 2.111 i ODP.NET 4.112 na tym samym komputerze obok siebie, gdy oba wskazują ten sam serwer bazy danych

  2. dialekt hibernacji dla wyroczni 12c

  3. Jak skonfigurować DbContext do pracy z Oracle ODP.Net i EF CodeFirst?

  4. Pytanie dotyczące łączenia SQL

  5. Dodaj parametr daty do zapytania Oracle