Khi lấy tên ngày và / hoặc tháng từ một ngày trong Oracle, bạn có thể muốn trả lại nó ở dạng viết hoa, viết thường hoặc viết hoa tiêu đề.
May mắn thay, điều này rất dễ thực hiện. Kết quả phản ánh cách viết hoa của mô hình định dạng của bạn.
Ví dụ
Khi sử dụng TO_CHAR()
để trả về các phần ngày từ một giá trị ngày, bạn sử dụng một hoặc nhiều phần tử định dạng để tạo mô hình định dạng. Mô hình định dạng này xác định cách định dạng ngày khi nó được trả về.
Chúng ta có thể sử dụng DAY
và MONTH
các phần tử định dạng để trả về tên ngày và tên tháng tương ứng.
Nhưng quan trọng, cách viết hoa mà chúng tôi sử dụng cho các phần tử định dạng này sẽ xác định cách viết hoa của kết quả.
Ví dụ:
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;
Kết quả:
thángĐối với
DAY
cũng vậy phần tử định dạng: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;
Kết quả:
day Day DAY ____________ ____________ ____________ Thứ Năm Thứ Năm THỨ NĂMNó cũng áp dụng khi trả về phiên bản viết tắt của ngày hoặc tháng.
Ví dụ:
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;
Kết quả:
mon Mon MON ______ ______ ______ Dec Dec DECVà:
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;
Kết quả:
dy Dy DY ______ ______ ______ thu Thu THUNăm
Có lẽ một thực tế ít được biết đến hơn, đó là Cơ sở dữ liệu Oracle cũng cung cấp các yếu tố định dạng trả về năm đánh vần đầy đủ. Cụ thể,
YEAR
vàSYEAR
(để phục vụ hoặc các ngày trước Công nguyên).Cách viết hoa của các phần tử định dạng này cũng ảnh hưởng đến đầu ra:
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;
Kết quả:
năm Năm NĂM ______________________ ______________________ ______________________ hai mươi ba mươi bảy Hai mươi ba mươi bảy HAI MƯƠI THỨ BAVà:
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;
Kết quả:
syear Syear SYEAR _______________________ _______________________ _______________________ -227 -Twenty Barty-Seven -TWENTY THIRTY-SEVENKhi áp dụng chữ hoa tiêu đề với
Syear
phần tử định dạng, chúng ta cần nhớ rằng chỉ ký tự đầu tiên -S
ký tự - được viết hoa và tất cả các ký tự còn lại là chữ thường (bao gồm cảY
nhân vật):