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

Cách MONTHNAME () hoạt động trong MariaDB

Trong MariaDB, MONTHNAME() là một hàm ngày và giờ được tích hợp sẵn trả về tên của tên tháng cho một ngày nhất định.

Nó chấp nhận một đối số, đó là ngày bạn muốn trích xuất tên tháng.

Cú pháp

Cú pháp như sau:

 MONTHNAME(date) 

Nơi date là ngày để lấy tên tháng.

Ví dụ

Đây là một ví dụ:

 SELECT MONTHNAME('2041-11-14'); 

Kết quả:

 + ------------------------- + | MONTHNAME ('2041-11-14') | + ------------------------- + | Tháng 11 | + ------------------------- + 

Ngôn ngữ

Ngôn ngữ được sử dụng cho tên tháng được kiểm soát bởi giá trị của lc_time_names biến hệ thống.

Dưới đây là một ví dụ cho thấy điều này ảnh hưởng như thế nào đến kết quả:

 SET lc_time_names = 'es_AR';
SELECT MONTHNAME('2041-11-14'); 

Kết quả:

 + ------------------------- + | MONTHNAME ('2041-11-14') | + ------------------------- + | noviembre | + ------------------------- + 

Và chuyển trở lại en_US , là mặc định:

 SET lc_time_names = 'en_US';
SELECT MONTHNAME('2041-11-14'); 

Kết quả:

 + ------------------------- + | MONTHNAME ('2041-11-14') | + ------------------------- + | Tháng 11 | + ------------------------- + 

Dưới đây là danh sách các ngôn ngữ được MariaDB hỗ trợ và đây là cách trả về danh sách các ngôn ngữ hiện có của riêng bạn.

Và đây là bài đăng giải thích cách kiểm tra giá trị của lc_time_names của bạn biến hệ thống.

Giá trị ngày giờ

Nó cũng hoạt động với các giá trị ngày giờ:

 SELECT MONTHNAME('2041-01-15 10:30:45'); 

Kết quả:

 + ---------------------------------- + | MONTHNAME ('2041-01-15 10:30:45') | + --------------------------------- - + | Tháng 1 | + ---------------------------------- + 

Tháng 0

Có tháng 0 trong ngày trả về null :

 SELECT MONTHNAME('2030-00-00'); 

Kết quả:

 + ------------------------- + | MONTHNAME ('2030-00-00') | + ------------------------- + | NULL | + ------------------------- + 

Số ngày

Cũng có thể chuyển ngày tháng dưới dạng số, miễn là ngày tháng có ý nghĩa.

Ví dụ

 SELECT MONTHNAME(20201208); 

Kết quả:

 + --------------------- + | MONTHNAME (20201208) | + --------------------- + | Tháng 12 | + --------------------- + 

Năm có hai chữ số cũng được:

 SELECT MONTHNAME(201208); 

Kết quả:

 + ------------------- + | MONTHNAME (201208) | + ------------------- + | Tháng 12 | + ------------------- + 

Nhưng nó phải có ý nghĩa như một cuộc hẹn hò. Đây là những gì sẽ xảy ra nếu tôi tăng thời gian trong ngày thành một ngày không hợp lệ:

 SELECT MONTHNAME(201299); 

Kết quả:

 + ------------------- + | MONTHNAME (201299) | + ------------------- + | NULL | + ------------------- + 

Các dấu phân cách khác

Bạn có thể sử dụng các dấu phân cách khác cho ngày. MariaDB khá dễ dãi khi nói đến dấu phân cách ngày tháng. Dưới đây là một số ví dụ hợp lệ:

 SELECT 
    MONTHNAME('2027/08/19'),
    MONTHNAME('2027,08,19'),
    MONTHNAME('2027:08:19'),
    MONTHNAME('2027;08!19'); 

Kết quả (sử dụng đầu ra dọc):

 MONTHNAME ('2027/08/19'):AugustMONTHNAME ('2027,08,19'):AugustMONTHNAME ('2027:08:19'):AugustMONTHNAME ('2027; 08! 19'):Tháng 8  

Ngày hiện tại

Chúng ta có thể chuyển NOW() làm đối số ngày để sử dụng ngày hiện tại:

 SELECT 
    NOW(),
    MONTHNAME(NOW()); 

Kết quả:

 + --------------------- + ------------------ + | NGAY BÂY GIỜ () | MONTHNAME (NOW ()) | + --------------------- + ------------------ + | 2021-05-14 10:11:16 | Tháng 5 | + --------------------- + ------------------ + 

Đối số không hợp lệ

Khi được truyền một đối số không hợp lệ, MONTHNAME() trả về null :

 SELECT MONTHNAME('Wrong!'); 

Kết quả:

 + --------------------- + | MONTHNAME ('Sai!') | + --------------------- + | NULL | + --------------------- + 

Thiếu đối số

Đang gọi MONTHNAME() với số lượng đối số sai hoặc không chuyển bất kỳ đối số nào, dẫn đến lỗi:

 SELECT MONTHNAME(); 

Kết quả:

 ERROR 1582 (42000):Số lượng tham số không chính xác trong lệnh gọi hàm gốc 'MONTHNAME' 

Và một ví dụ khác:

 SELECT MONTHNAME('2030-01-25', '2045-05-08'); 

Kết quả:

 ERROR 1582 (42000):Số lượng tham số không chính xác trong lệnh gọi hàm gốc 'MONTHNAME' 

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách chuyển từ Oracle DB sang MariaDB

  2. MariaDB ROUND () so với TRUNCATE ()

  3. Cách bảo vệ cơ sở dữ liệu MySQL &MariaDB của bạn trước các cuộc tấn công mạng khi ở trên mạng công cộng

  4. MariaDB JSON_VALUE () Giải thích

  5. Đặt Bộ ký tự và đối chiếu của bảng trong MariaDB