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 đủ.