Dưới đây là hai hàm có thể được sử dụng để trích xuất tháng từ một ngày trong Cơ sở dữ liệu Oracle.
EXTRACT()
Chức năng
Bạn có thể sử dụng EXTRACT(datetime)
chức năng trích xuất các phần datetime khác nhau từ một giá trị datetime. Điều này bao gồm cả tháng.
Đây là một ví dụ:
SELECT EXTRACT(MONTH FROM DATE '2030-12-25')
FROM DUAL;
Kết quả:
12
Đó là MONTH
từ khóa trích xuất phần tháng từ ngày. Chúng ta có thể lấy các phần ngày tháng khác bằng cách thay đổi nó thành từ khóa có liên quan. Ví dụ:YEAR
, DAY
, HOUR
, MINUTE
, v.v.
Chúng tôi cũng có thể sử dụng hàm với các giá trị ngày giờ khác, chẳng hạn như TIMESTAMP
, v.v.
TO_CHAR(datetime)
Chức năng
Chúng tôi cũng có thể sử dụng TO_CHAR(datetime)
hoạt động như một phương pháp thay thế để lấy tháng từ một ngày.
Hàm này chấp nhận giá trị ngày giờ hoặc khoảng thời gian làm đối số đầu tiên và mô hình định dạng làm đối số thứ hai. Sau đó, hàm chuyển đổi giá trị thành kiểu dữ liệu VARCHAR2
ở định dạng được chỉ định.
Mô hình định dạng chỉ định định dạng để trả về giá trị ngày giờ / khoảng thời gian. Mô hình định dạng bao gồm một hoặc nhiều phần tử định dạng . Điều này cho phép chúng tôi tạo ra các kết quả một cách cẩn thận để phản ánh định dạng mong muốn của chúng tôi.
Nếu chúng ta chỉ muốn trả về tháng, chúng ta có thể sử dụng một trong các yếu tố định dạng để trích xuất tháng.
Để lấy tháng ở định dạng 01-12, hãy sử dụng MM
phần tử định dạng:
SELECT TO_CHAR(DATE '2027-08-03', 'MM')
FROM DUAL;
Kết quả:
08
Tên tháng đầy đủ
Để lấy tên đầy đủ của tháng, hãy sử dụng MONTH
:
SELECT TO_CHAR(DATE '2027-08-03', 'MONTH')
FROM DUAL;
Kết quả:
AUGUST
Tên tháng ngắn
Để lấy tên ngắn của tháng, hãy sử dụng MON
:
SELECT TO_CHAR(DATE '2027-08-03', 'MON')
FROM DUAL;
Kết quả:
AUG