Dưới đây là một số cách để trả về số ngày trong một tháng nhất định trong Cơ sở dữ liệu Oracle. Đây có thể là số ngày trong tháng hiện tại hoặc số ngày trong tháng dựa trên một ngày cụ thể.
Tùy chọn 1
Đây là lựa chọn đầu tiên của chúng tôi:
SELECT CAST(TO_CHAR(LAST_DAY(date '2030-01-17'), 'DD') AS INT)
FROM DUAL;
Kết quả:
31
LAST_DAY()
hàm trả về ngày cuối cùng của tháng dựa trên ngày được chỉ định. Bằng cách chuyển nó tới TO_CHAR()
với định dạng DD
cho ngày trong tháng, chúng tôi nhận được số của ngày cuối cùng của tháng. Con số đó đại diện cho số ngày trong tháng.
Sau đó, chúng tôi sử dụng CAST()
hàm chuyển đổi kết quả thành số nguyên.
Tùy chọn 2
Đây là một tùy chọn khác:
SELECT
TRUNC(LAST_DAY(date '2030-08-20'))-TRUNC(date '2030-08-20', 'MM')
FROM DUAL;
Kết quả:
30
TRUNC(date)
hàm trả về giá trị ngày đã cho với phần thời gian trong ngày được cắt ngắn thành đơn vị được cung cấp ở mô hình định dạng được chỉ định.