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

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

Trong MariaDB, DAYOFYEAR() là một hàm ngày và giờ được tích hợp sẵn để trả về ngày trong năm từ 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 ngày trong năm.

Nó trả về ngày dưới dạng một số trong phạm vi 1 thành 366 .

Cú pháp

Cú pháp như sau:

 DAYOFYEAR(date) 

Nơi date là ngày lấy ngày trong năm.

Ví dụ

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

 SELECT DAYOFYEAR('2030-12-25'); 

Kết quả:

 + ------------------------- + | DAYOFYEAR ('2030-12-25') | + ------------------------- + | 359 | + ------------------------- + 

Giá trị ngày giờ

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

 SELECT DAYOFYEAR('2030-02-01 10:30:45'); 

Kết quả:

 + ---------------------------------- + | DAYOFYEAR ('2030-02-01 10:30:45') | + --------------------------------- - + | 32 | + ---------------------------------- + 

Zero Days

Không có ngày nào dẫn đến null .

Ví dụ:

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

Kết quả:

 + ------------------------- + | DAYOFYEAR ('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 DAYOFYEAR(20301125); 

Kết quả:

 + --------------------- + | DAYOFYEAR (20301125) | + --------------------- + | 329 | + --------------------- + 

Hoặc thậm chí như sau (sử dụng năm có hai chữ số):

 SELECT DAYOFYEAR(301125); 

Kết quả:

 + ------------------- + | DAYOFYEAR (301125) | + ------------------- + | 329 | + ------------------- + 

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 DAYOFYEAR(20300135); 

Kết quả:

 + --------------------- + | DAYOFYEAR (20300135) | + --------------------- + | 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 
    DAYOFYEAR('2030/06/25'),
    DAYOFYEAR('2030,06,25'),
    DAYOFYEAR('2030:06:25'),
    DAYOFYEAR('2030;06!25'); 

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

 DAYOFYEAR ('2030/06/25'):176DAYOFYEAR ('2030,06,25'):176DAYOFYEAR ('2030:06:25'):176DAYOFYEAR ('2030; 06! 25'):176  

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(),
    DAYOFYEAR(NOW()); 

Kết quả:

 + --------------------- + ------------------ + | NGAY BÂY GIỜ () | DAYOFYEAR (NOW ()) | + --------------------- + ------------------ + | 2021-05-16 09:05:57 | 136 | + --------------------- + ------------------ + 

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

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

 SELECT DAYOFYEAR('Friday'); 

Kết quả:

 + --------------------- + | DAYOFYEAR ('Thứ Sáu') | + --------------------- + | NULL | + --------------------- + 

Thiếu đối số

Đang gọi DAYOFYEAR() 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 DAYOFYEAR(); 

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 'DAYOFYEAR' 

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

 SELECT DAYOFYEAR('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 'DAYOFYEAR' 

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB JSON_LENGTH () Giải thích

  2. Sử dụng MariaDB Flashback trên MySQL Server

  3. Sử dụng plugin kiểm tra MariaDB để bảo mật cơ sở dữ liệu

  4. Lập kế hoạch dung lượng cho MySQL và MariaDB - Kích thước bộ nhớ

  5. Cách lập lịch sao lưu cơ sở dữ liệu với ClusterControl