Trong PostgreSQL, nếu bạn đã có một tháng tên , nhưng bạn muốn chuyển đổi tên đó thành số tháng , bạn có thể thực hiện việc này với EXTRACT()
chức năng.
Ví dụ 1:Tên tháng đầy đủ
Dưới đây là một ví dụ cơ bản về việc chuyển đổi tên tháng thành số tháng tương ứng.
SELECT EXTRACT(MONTH FROM TO_DATE('December', 'Month')) AS "Month Number";
Kết quả:
Month Number -------------- 12
Ví dụ 2:Tên tháng ngắn
Nó cũng hoạt động trên các tên tháng ngắn. Trong trường hợp này, chỉ cần rút ngắn chuỗi mẫu từ 'Month'
đến 'Mon'
(đối số thứ hai của TO_DATE()
chức năng).
SELECT EXTRACT(MONTH FROM TO_DATE('Dec', 'Mon')) AS "Month Number";
Kết quả:
Month Number -------------- 12
Ví dụ 3:Ngày dài hơn
Nó cũng hoạt động khi bạn cung cấp một ngày dài hơn (không chỉ tên tháng).
SELECT EXTRACT( MONTH FROM TO_DATE('December 20, 2020', 'Month') ) AS "Month Number";
Kết quả:
Month Number -------------- 12
Ví dụ 4:Sử dụng Dấu thời gian
Đây là một ví dụ sử dụng TO_TIMESTAMP()
thay vì TO_DATE()
.
SELECT EXTRACT(MONTH FROM TO_TIMESTAMP('Dec 2020', 'Mon')) AS "Month Number";
Kết quả:
Month Number -------------- 12