Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách lấy tên tháng từ ngày trong Oracle

Trong Cơ sở dữ liệu Oracle, TO_CHAR(datetime) cho phép chúng tôi trả về giá trị ngày giờ, được định dạng theo cách mà chúng tôi chỉ định.

Một trong những điều chúng ta có thể làm là trả lại tên tháng cho một ngày.

Tên đầy đủ của tháng

Khi nói đến việc trả lại tên tháng từ một ngày, chúng tôi có tùy chọn lấy tên tháng đầy đủ hoặc phiên bản viết tắt của nó.

Để lấy tên tháng đầy đủ, hãy sử dụng MONTH phần tử định dạng:

SELECT TO_CHAR(DATE '2035-10-03', 'MONTH')
FROM DUAL;

Kết quả:

OCTOBER

Tên tháng ngắn

Để lấy tên tháng viết tắt, hãy sử dụng MON :

SELECT TO_CHAR(DATE '2035-10-03', 'MON')
FROM DUAL;

Kết quả:

OCT

Viết hoa

Chúng tôi có thể sử dụng cách viết hoa để xác định cách viết hoa của đầu ra:

SELECT 
    TO_CHAR(DATE '2035-10-03', 'Month') AS "Month",
    TO_CHAR(DATE '2035-10-03', 'month') AS "month",
    TO_CHAR(DATE '2035-10-03', 'Mon') AS "Mon",
    TO_CHAR(DATE '2035-10-03', 'mon') AS "mon"
FROM DUAL;

Kết quả:

       Month        month    Mon    mon 
____________ ____________ ______ ______ 
October      october      Oct    oct   

Ngôn ngữ

Ngôn ngữ của tên tháng được xác định rõ ràng bằng NLS_DATE_LANGUAGE tham số khởi tạo hoặc ngầm định với NLS_LANGUAGE tham số khởi tạo.

Chúng tôi có thể đặt giá trị của NLS_LANGUAGE một cách rõ ràng với ALTER SESSION tuyên bố. Khi chúng tôi làm điều này, nó cũng đặt ngầm giá trị của NLS_DATE_LANGUAGE tham số.

Tuy nhiên, đặt NLS_DATE_LANGUAGE tham số không thay đổi giá trị của NLS_LANGUAGE tham số. Điều này cho phép chúng tôi chỉ định một ngôn ngữ khác cho các phần tử định dạng trả về giá trị chính tả, nếu được yêu cầu.

Đây là ví dụ về cách đặt NLS_DATE_LANGUAGE sang một ngôn ngữ khác, sau đó lấy lại tên tháng:

ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
SELECT 
    TO_CHAR(DATE '2037-10-03', 'Month') AS "Full Month Name",
    TO_CHAR(DATE '2037-10-03', 'Mon') AS "Short Month Name"
FROM DUAL;

Kết quả:

   Full Month Name    Short Month Name 
__________________ ___________________ 
Oktober            Okt                

Ngôn ngữ mặc định có thể được ghi đè ở cấp hàm bằng tham số thứ ba chỉ định ngôn ngữ:

ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
SELECT 
    TO_CHAR(
        DATE '2037-10-03', 
        'Month', 
        'NLS_DATE_LANGUAGE = Spanish' 
    )
FROM DUAL;

Kết quả:

Octubre

Có nhiều phần tử định dạng khác có sẵn để định dạng giá trị ngày giờ trong Oracle. Xem Danh sách các phần tử định dạng ngày giờ trong Oracle để có danh sách đầy đủ.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo dữ liệu thử nghiệm bằng Oracle PL / SQL developer

  2. Ví dụ về hàm Oracle để lấy số ngày giữa hai ngày

  3. cách thay thế nhiều chuỗi với nhau trong Oracle

  4. ORA-00984:cột không được phép ở đây

  5. Oracle LIMIT n, m tương đương