Trong Cơ sở dữ liệu Oracle, chúng ta có thể sử dụng TH
phần tử định dạng để thêm hậu tố số thứ tự vào kết quả của TO_CHAR()
hoạt động khi định dạng ngày tháng.
Ví dụ:thay vì xuất ra 10 Feb
chúng tôi có thể xuất 10th Feb
. Hoặc, thay vì xuất ra 21 century
, chúng ta có thể xuất ra 21 century
. Điều tương tự cũng áp dụng cho các thành phần ngày tháng đánh vần. Ví dụ:thay vì Twenty One
, chúng ta có thể xuất Twenty First
.
Ví dụ
Dưới đây là một ví dụ để chứng minh:
SELECT TO_CHAR(DATE '2030-12-01', 'Ddth Month')
FROM DUAL;
Kết quả:
01st December
Chúng ta có thể sử dụng fm
công cụ sửa đổi định dạng để loại bỏ số 0 ở đầu nếu được yêu cầu:
SELECT TO_CHAR(DATE '2030-12-01', 'fmDdth Month')
FROM DUAL;
Kết quả:
1st December
Lưu ý rằng cách viết hoa của số thứ tự được xác định bởi phần tử định dạng có liên quan (trong trường hợp này là Dd
part), không TH
hậu tố.
Đây là những gì sẽ xảy ra khi chúng tôi thay đổi d
thứ hai thành chữ hoa:
SELECT TO_CHAR(DATE '2030-12-01', 'fmDDth Month')
FROM DUAL;
Kết quả:
1ST December
Vì vậy, mặc dù chúng tôi đã cung cấp th
hậu tố bằng chữ thường, nó không ảnh hưởng đến kết quả. Viết hoa được xác định bởi phần tử định dạng (không bao gồm fm
công cụ sửa đổi định dạng).
Chúng tôi cũng có thể thêm số thứ tự khi trả về các thành phần ngày tháng khác, chẳng hạn như thế kỷ:
SELECT TO_CHAR(DATE '2030-12-30', 'Ccth "Century"')
FROM DUAL;
Kết quả:
21st Century
Ngày đánh vần
Chúng tôi có thể thêm SP
phần tử định dạng để có phần ngày tháng được viết chính tả:
SELECT TO_CHAR(DATE '2030-12-30', 'CCTHSP "Century"')
FROM DUAL;
Kết quả:
TWENTY-FIRST Century
Và chúng ta có thể viết hoa theo yêu cầu:
SELECT TO_CHAR(DATE '2030-12-30', 'Ccthsp "Century"')
FROM DUAL;
Kết quả:
21st Century
Đây là những gì sẽ xảy ra khi chúng tôi bỏ qua TH
định dạng định dạng:
SELECT TO_CHAR(DATE '2030-12-30', 'Ccsp')
FROM DUAL;
Kết quả:
Twenty-One