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

Cách hoạt động của QUARTER () trong MariaDB

Trong MariaDB, QUARTER() là một hàm ngày và giờ được tích hợp sẵn trả về phần tư từ một biểu thức ngày đã cho.

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

Nó trả về phần tư dưới dạng một số trong phạm vi 1 thành 4 . Đối với các ngày có tháng 0 (ví dụ:0000-00-00 hoặc 2025-00-00 ), kết quả là 0 .

Cú pháp

Cú pháp như sau:

 QUARTER(date) 

Nơi date là biểu thức ngày để lấy quý từ đó.

Ví dụ

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

 SELECT QUARTER('2030-08-01'); 

Kết quả:

 + ----------------------- + | QUÝ ('2030-08-01') | + ----------------------- + | 3 | + ----------------------- + 

Giá trị ngày giờ

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

 SELECT QUARTER('2030-08-01 10:30:45'); 

Kết quả:

 + -------------------------------- + | QUÝ ('2030-08-01 10:30:45') | + -------------------------------- + | 3 | + -------------------------------- + 

Tháng 0

Ngày không có tháng dẫn đến 0 .

Ví dụ:

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

Kết quả:

 + ----------------------- + | QUÝ ('2030-00-00') | + ----------------------- + | 0 | + ----------------------- + 

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 QUARTER(20301125); 

Kết quả:

 + ------------------- + | QUÝ (20301125) | + ------------------- + | 4 | + ------------------- + 

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

 SELECT QUARTER(301125); 

Kết quả:

 + ----------------- + | QUÝ (301125) | + ----------------- + | 4 | + ----------------- + 

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 QUARTER(20301135); 

Kết quả:

 + ------------------- + | QUÝ (20301135) | + ------------------- + | NULL | + ------------------- + 1 hàng được đặt, 1 cảnh báo (0,000 giây) 

Chúng tôi có thể kiểm tra cảnh báo như sau:

 SHOW WARNINGS; 

Kết quả:

 + --------- + ------ + ----------------------------- --------- + | Mức độ | Mã | Tin nhắn | + --------- + ------ + ------------------------------ -------- + | Cảnh báo | 1292 | Giá trị ngày giờ không chính xác:'20301135' | + --------- + ------ + ------------------------ -------------- + 

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

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

 QUARTER ('2030/06/25'):2QUARTER ('2030,06,25'):2QUARTER ('2030:06:25'):2QUARTER ('2030; 06! 25'):2  

Ngày hiện tại

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

 SELECT 
    NOW(),
    QUARTER(NOW()); 

Kết quả:

 + --------------------- + ---------------- + | NGAY BÂY GIỜ () | QUÝ (NGAY ()) | + --------------------- + ---------------- + | 2021-05-18 09:23:27 | 2 | + --------------------- + ---------------- + 

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

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

 SELECT QUARTER('2030-65-78'); 

Kết quả:

 + ----------------------- + | QUÝ ('2030-65-78') | + ----------------------- + | NULL | + ----------------------- + 1 hàng được đặt, 1 cảnh báo (0,000 giây) 

Kiểm tra cảnh báo:

 SHOW WARNINGS; 

Kết quả:

 + --------- + ------ + ----------------------------- ----------- + | Mức độ | Mã | Tin nhắn | + --------- + ------ + ------------------------------ ---------- + | Cảnh báo | 1292 | Giá trị ngày giờ không chính xác:'2030-65-78' | + --------- + ------ + -------------------- -------------------- + 

Thiếu đối số

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

Kết quả:

 ERROR 1064 (42000):Bạn có lỗi trong cú pháp SQL của mình; kiểm tra hướng dẫn sử dụng tương ứng với phiên bản máy chủ MariaDB của bạn để biết cú pháp phù hợp để sử dụng gần ')' tại dòng 1 

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

 SELECT QUARTER('2030-12-10', '2031-12-10'); 

Kết quả:

 ERROR 1064 (42000):Bạn có lỗi trong cú pháp SQL của mình; kiểm tra hướng dẫn sử dụng tương ứng với phiên bản máy chủ MariaDB của bạn để biết cú pháp phù hợp để sử dụng gần '' 2031-12-10 ')' tại dòng 1 

  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 LPAD () hoạt động trong MariaDB

  2. Cách PERIOD_DIFF () hoạt động trong MariaDB

  3. Cách triển khai cơ sở dữ liệu Chamilo MariaDB để có tính khả dụng cao

  4. Mã hóa MariaDB đầy đủ lúc nghỉ và đang chuyển để bảo vệ dữ liệu tối đa - Phần thứ hai

  5. Cách sao lưu cơ sở dữ liệu Moodle MariaDB của bạn