Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

2 cách để có được số ngày trong tháng trong Oracle

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-04091:table [blah] đang đột biến, trình kích hoạt / chức năng có thể không nhìn thấy nó

  2. SQL:Phân tích cú pháp chuỗi được phân tách bằng dấu phẩy và sử dụng làm phép nối

  3. Làm thế nào để truy cập cơ sở dữ liệu Oracle qua mạng?

  4. Hàm ATAN2 () trong Oracle

  5. Cách tốt nhất để rút ngắn chuỗi UTF8 dựa trên độ dài byte