Khi sử dụng TO_CHAR()
chức năng định dạng giá trị ngày giờ trong Cơ sở dữ liệu Oracle, bạn có thể thêm chỉ báo AD / BC bằng cách chỉ cần thêm AD
hoặc BC
sang mô hình định dạng của bạn.
Sau đó, Oracle hiển thị chỉ báo thích hợp, tùy thuộc vào giá trị ngày là AD hay BC.
Bạn có thể cung cấp nó bằng bất kỳ chữ hoa hoặc chữ thường nào và có hoặc không có dấu chấm (ví dụ:AD
, A.D.
ad
, a.d
, vân vân). Sau đó Oracle sẽ hiển thị chỉ báo như đã chỉ định.
Ví dụ
Dưới đây là một ví dụ để chứng minh:
SELECT
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY AD')
FROM DUAL;
Kết quả:
30-12-2030 AD
Trong trường hợp này, ngày là AD và do đó kết quả có AD
thêm vào.
AD so với BC
Oracle tìm hiểu xem đó là AD hay BC và hiển thị chỉ báo thích hợp.
Đây là những gì sẽ xảy ra khi tôi thay đổi ngày thành giá trị BC:
SELECT
TO_CHAR(date '-2030-12-30', 'DD-MM-YYYY AD')
FROM DUAL;
Kết quả:
30-12-2030 BC
Chỉ báo kết quả là BC, mặc dù chuỗi định dạng của tôi là AD
.
Chữ hoa và chữ thường
Thay đổi trường hợp của phần tử định dạng sẽ thay đổi trường hợp của kết quả:
SELECT
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY AD') AS "Uppercase",
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY ad') AS "Lowercase",
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY Ad') AS "Mixed"
FROM DUAL;
Kết quả:
Uppercase Lowercase Mixed ________________ ________________ ________________ 30-12-2030 AD 30-12-2030 ad 30-12-2030 Ad
Dấu chấm so với Không có dấu chấm
Bạn có thể thêm dấu chấm nếu muốn:
SELECT
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY A.D.') AS "Uppercase",
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY a.d.') AS "Lowercase",
TO_CHAR(date '2030-12-30', 'DD-MM-YYYY A.d.') AS "Mixed"
FROM DUAL;
Kết quả:
Uppercase Lowercase Mixed __________________ __________________ __________________ 30-12-2030 A.D. 30-12-2030 a.d. 30-12-2030 A.D.
Mặc dù vậy, hãy lưu ý rằng điều này ảnh hưởng đến chỉ báo trường hợp hỗn hợp.
Ngày và giờ của hôm nay
Ở đây, tôi vượt qua SYSDATE
để sử dụng ngày hiện tại:
SELECT
TO_CHAR(SYSDATE, 'DD-MM-YYYY A.D.')
FROM DUAL;
Kết quả:
29-08-2021 A.D.