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

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

Với Cơ sở dữ liệu Oracle, chúng ta có thể sử dụng TO_CHAR(datetime) hàm để trả về một giá trị ngày giờ, được định dạng theo cách mà chúng tôi chỉ định.

Chúng ta có thể sử dụng hàm này để trả về tên ngày của một ngày (cũng như bất kỳ phần nào khác của giá trị datetime).

Tên ngày đầy đủ

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

Để có tên đầy đủ của ngày, hãy đặt DAY phần tử định dạng thực hiện thủ thuật:

SELECT TO_CHAR(DATE '2037-10-03', 'DAY')
FROM DUAL;

Kết quả:

SATURDAY

Tên ngày ngắn

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

SELECT TO_CHAR(DATE '2037-10-03', 'DY')
FROM DUAL;

Kết quả:

SAT

Viết hoa

Chúng ta có thể sử dụng cách viết hoa nếu muốn. Điều này xác định cách viết hoa của đầu ra:

SELECT 
    TO_CHAR(DATE '2037-10-03', 'Day') AS "Day",
    TO_CHAR(DATE '2037-10-03', 'day') AS "day",
    TO_CHAR(DATE '2037-10-03', 'Dy') AS "Dy",
    TO_CHAR(DATE '2037-10-03', 'dy') AS "dy"
FROM DUAL;

Kết quả:

         Day          day     Dy     dy 
____________ ____________ ______ ______ 
Saturday     saturday     Sat    sat    

Ngôn ngữ

Ngôn ngữ của tên ngày đượ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 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 tham số cho một ngôn ngữ khác:

ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';

Kết quả:

Session altered.

Bây giờ, khi chúng tôi trả lại tên ngày của một ngày, nó sẽ được trả về bằng ngôn ngữ mà chúng tôi vừa chỉ định:

SELECT 
    TO_CHAR(DATE '2037-10-03', 'DAY') AS "Full Day Name",
    TO_CHAR(DATE '2037-10-03', 'DY') AS "Short Day Name"
FROM DUAL;

Kết quả:

   Full Day Name    Short Day Name 
________________ _________________ 
SAMSTAG          SA               

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', 
        'Day', 
        'NLS_DATE_LANGUAGE = Spanish' 
    )
FROM DUAL;

Kết quả:

Sábado

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. Oracle chọn bản ghi ngày gần đây nhất

  2. Buộc thả bảng nhiệt độ toàn cầu của Oracle

  3. Làm thế nào để xử lý cột bảng được đặt tên bằng từ khóa Sql dành riêng?

  4. 6 cách để xóa các dòng trùng lặp có khóa chính trong Oracle

  5. Oracle 11g trên Mac OS X