Không có chức năng tích hợp để chuyển đổi số tháng thành tên tháng trong SQL. Nhưng chúng ta có thể sử dụng kết hợp một vài hàm ngày khác nhau để đạt được điều này. Các cơ sở dữ liệu khác nhau có các hàm ngày tích hợp khác nhau
Nhưng trước khi làm được điều đó, chúng tôi muốn chỉ cho bạn một phương pháp cực kỳ dễ dàng để thực hiện điều này
Nó được gọi là “mô hình mã thấp với Datameer. ”
1. dữ liệu
Datameer là một công cụ chuyển đổi đa nhân cách được xây dựng để lập mô hình dữ liệu trong Snowflake
Đối với yêu cầu của chúng tôi, Datameer có chức năng “Monthname” được tích hợp sẵn để lấy ngày của bạn, trích xuất số tháng và xuất liền mạch tên tháng ở định dạng phù hợp
Xem video ở trên để biết cách thực hiện điều này trong Datameer
2. mysql
Trong MySQL, chúng ta có thể sử dụng kết hợp các hàm ‘MONTHNAME’ và ‘STR_TO_DATE’ để lấy tên tháng từ một số tháng
SELECT MONTHNAME[STR_TO_DATE[5, '%m']] AS 'Month Name'
-- Output
# Month Name
------------------
May
SELECT MONTHNAME[STR_TO_DATE[11, '%m']] AS 'Month Name'
-- Output
# Month Name
--------------
November
3. MÁY CHỦ SQL
Trong SQL SERVER, chúng ta có thể sử dụng kết hợp các hàm ‘DATENAME’ và hàm ‘DATEADD’ để lấy tên tháng từ số tháng
-- In Below query, the 3rd parameter of function DATEADD can be any date with 12th month
SELECT DATENAME[MONTH, DATEADD[MONTH, 1, '2000-12-01']] AS 'Month Name'
-- Output
Month Name
-----------
January
-- In Below query, the 3rd parameter of function DATEADD can be any date with 12th month
SELECT DATENAME[MONTH, DATEADD[MONTH, 2, '2020-12-01']] AS 'Month Name'
-- Output
Month Name
-----------
February
-- Or the 3rd parameter can simply be -1 as below
SELECT DATENAME[ MONTH, DATEADD[ MONTH, 12, -1]] AS 'Month Name'
-- Output
Month Name
------------------
December
4. tiên tri
Trong Oracle, chúng ta có thể sử dụng kết hợp các hàm ‘TO_CHAR’ và ‘TO_DATE’ để lấy tên tháng từ số tháng
Để lấy cột năm và tháng, hãy sử dụng hàm
SELECT EXTRACT[YEAR_MONTH FROM date] AS year_and_month FROM dates;0. Trong giải pháp này, đối số bộ phận được thay thế bằng
SELECT EXTRACT[YEAR_MONTH FROM date] AS year_and_month FROM dates;1 và
SELECT EXTRACT[YEAR_MONTH FROM date] AS year_and_month FROM dates;2 để tách riêng
SELECT EXTRACT[YEAR_MONTH FROM date] AS year_and_month FROM dates;2 và
SELECT EXTRACT[YEAR_MONTH FROM date] AS year_and_month FROM dates;3, mỗi cái trong cột riêng
Bạn có thể tìm hiểu thêm về
SELECT EXTRACT[YEAR_MONTH FROM date] AS year_and_month FROM dates;5 trong tài liệu chính thức của MySQL
Giải pháp 2
SELECT EXTRACT[YEAR_MONTH FROM date] AS year_and_month FROM dates;
Kết quả là
Thảo luận
Giải pháp này hoạt động chính xác như giải pháp trước, nhưng
SELECT EXTRACT[YEAR_MONTH FROM date] AS year_and_month FROM dates;6 được sử dụng để lấy năm và tháng cùng nhau trong một cột thay vì lấy chúng riêng biệt. Lưu ý rằng các giá trị của năm và tháng không được tách biệt với nhau
Giải pháp 3
________số 8Kết quả là
nămtháng20084198712Thảo luận
Lần này, các hàm
SELECT EXTRACT[YEAR_MONTH FROM date] AS year_and_month FROM dates;7 và
SELECT EXTRACT[YEAR_MONTH FROM date] AS year_and_month FROM dates;8 được sử dụng để tạo hai cột.
SELECT EXTRACT[YEAR_MONTH FROM date] AS year_and_month FROM dates;7 trả về năm và
SELECT EXTRACT[YEAR_MONTH FROM date] AS year_and_month FROM dates;8 trả về tháng dưới dạng số
Giải pháp 4
-- In Below query, the 3rd parameter of function DATEADD can be any date with 12th month
SELECT DATENAME[MONTH, DATEADD[MONTH, 1, '2000-12-01']] AS 'Month Name'
-- Output
Month Name
-----------
January
-- In Below query, the 3rd parameter of function DATEADD can be any date with 12th month
SELECT DATENAME[MONTH, DATEADD[MONTH, 2, '2020-12-01']] AS 'Month Name'
-- Output
Month Name
-----------
February
-- Or the 3rd parameter can simply be -1 as below
SELECT DATENAME[ MONTH, DATEADD[ MONTH, 12, -1]] AS 'Month Name'
-- Output
Month Name
------------------
December
3Kết quả là
nămtháng 2008tháng 4 năm 1987tháng 12Thảo luận
Để lấy tên của tháng, hãy sử dụng hàm
SELECT YEAR[date] AS year, MONTH[date] AS month FROM dates;1. Kết quả hiển thị tên tháng thay vì số tháng
Giải pháp 5
-- In Below query, the 3rd parameter of function DATEADD can be any date with 12th month
SELECT DATENAME[MONTH, DATEADD[MONTH, 1, '2000-12-01']] AS 'Month Name'
-- Output
Month Name
-----------
January
-- In Below query, the 3rd parameter of function DATEADD can be any date with 12th month
SELECT DATENAME[MONTH, DATEADD[MONTH, 2, '2020-12-01']] AS 'Month Name'
-- Output
Month Name
-----------
February
-- Or the 3rd parameter can simply be -1 as below
SELECT DATENAME[ MONTH, DATEADD[ MONTH, 12, -1]] AS 'Month Name'
-- Output
Month Name
------------------
December
5Kết quả là
năm_và_tháng2008-041987-12Thảo luận
Sử dụng hàm
SELECT YEAR[date] AS year, MONTH[date] AS month FROM dates;2 để hiển thị giá trị
SELECT EXTRACT[YEAR_MONTH FROM date] AS year_and_month FROM dates;4 ở định dạng cụ thể. Nó lấy
SELECT EXTRACT[YEAR_MONTH FROM date] AS year_and_month FROM dates;4 làm đối số đầu tiên và một chuỗi mô tả định dạng ngày mong muốn làm đối số thứ hai. Trong trường hợp của chúng tôi, chuỗi '
SELECT YEAR[date] AS year, MONTH[date] AS month FROM dates;5',
SELECT YEAR[date] AS year, MONTH[date] AS month FROM dates;6 trả về năm, '
SELECT YEAR[date] AS year, MONTH[date] AS month FROM dates;7' được sử dụng làm dấu phân cách và
SELECT YEAR[date] AS year, MONTH[date] AS month FROM dates;8 trả về tháng ở dạng số [có thể thay thế bằng
SELECT YEAR[date] AS year, MONTH[date] AS month FROM dates;9 để lấy tên tháng]