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

Giải thích các đơn vị ngày và giờ tổng hợp MariaDB

MariaDB bao gồm một loạt các đơn vị ngày và giờ mà bạn có thể sử dụng khi làm việc với các giá trị ngày và giờ. Ví dụ:MONTH là một đơn vị và HOUR là một đơn vị khác.

Một số đơn vị là đơn vị kết hợp. Đơn vị tổng hợp là khi hai đơn vị kết hợp thành một. Quy ước đặt tên là mỗi tên đơn vị được phân tách bằng dấu gạch dưới. Ví dụ:MINUTE_SECOND là phút và giây.

Dưới đây là một số ví dụ chứng minh cách các đơn vị kết hợp hoạt động trong MariaDB.

Danh sách các đơn vị tổng hợp

Đầu tiên, đây là danh sách các đơn vị tổng hợp có sẵn trong MariaDB:

Unit Mô tả
SECOND_MICROSECOND Giây.Microseconds
MINUTE_MICROSECOND Minutes.Seconds.Microseconds
MINUTE_SECOND Phút. Giây
HOUR_MICROSECOND Hours.Minutes.Seconds.Microseconds
HOUR_SECOND Hours.Minutes.Seconds
HOUR_MINUTE Hours.Minutes
DAY_MICROSECOND Days Hours.Minutes.Seconds.Microseconds
DAY_SECOND Ngày Giờ. Phút. Giây
DAY_MINUTE Ngày Giờ. Phút
DAY_HOUR Giờ ngày
YEAR_MONTH Năm-Tháng

Chỉ cần nhìn vào tên của họ cũng cung cấp manh mối khá tốt về những gì họ làm.

Đơn vị tổng hợp (như với bất kỳ đơn vị ngày / giờ nào) có thể được sử dụng khi trích xuất các phần của giá trị ngày / giờ và cả khi thực hiện những việc như cộng và trừ khoảng thời gian cho giá trị ngày / giờ.

Chúng có thể được sử dụng với +- toán tử khi thực hiện số học vào ngày tháng, với các hàm như ADDDATE() , SUBDATE() , DATE_ADD() , DATE_SUB() , EXTRACT() , TIMESTAMPADD()TIMESTAMPDIFF() .

Chúng cũng có thể được sử dụng trong ON SCHEDULE mệnh đề của CREATE_EVENT()ALTER_EVENT() các chức năng.

Ví dụ - Trích xuất các đơn vị kết hợp

Đơn vị ngày và giờ có thể được sử dụng với nhiều chức năng khác nhau và trong nhiều ngữ cảnh khác nhau. Một trong những hàm chấp nhận các đơn vị này là EXTRACT() hàm số. Hàm này trả về một đơn vị ngày / giờ cụ thể từ một giá trị ngày tháng hoặc thời gian cụ thể.

Dưới đây là một ví dụ về việc sử dụng một đơn vị tổng hợp để trích xuất năm và tháng từ một ngày:

SELECT EXTRACT(YEAR_MONTH FROM '2030-12-25');

Kết quả:

+---------------------------------------+
| EXTRACT(YEAR_MONTH FROM '2030-12-25') |
+---------------------------------------+
|                                203012 |
+---------------------------------------+

Chúng ta có thể thấy rằng năm và tháng được trả về là một giá trị.

Ví dụ - Thêm / Trừ các Đơn vị Tổng hợp

Các đơn vị tổng hợp cũng có thể được sử dụng để cộng và trừ các khoảng ngày và giờ.

Ví dụ:

SELECT '2030-12-25' + INTERVAL '2:08' DAY_HOUR;

Kết quả:

+-----------------------------------------+
| '2030-12-25' + INTERVAL '2:08' DAY_HOUR |
+-----------------------------------------+
| 2030-12-27 08:00:00                     |
+-----------------------------------------+

Trong trường hợp này, có hai phần cần lưu ý liên quan đến đơn vị tổng hợp.

Như trong ví dụ trước, chúng tôi đã sử dụng một đơn vị kết hợp (trong trường hợp này là DAY_HOUR ). Liên quan đến khoảng thời gian thực tế cần thêm, chúng tôi đã sử dụng dấu hai chấm để phân tách mỗi bên của đơn vị tổng hợp.

Trong trường hợp này, chúng tôi đã chỉ định '2:08' , đã thêm 2 ngày và 8 giờ vào giá trị ngày. Ngày ban đầu không có phần thời gian và do đó, người ta giả định rằng thời gian ban đầu là 00:00:00 .

MariaDB có thể tha thứ một cách hợp lý với tính nghiêm ngặt của định dạng. Chúng ta có thể có được hiệu ứng tương tự bằng cách sử dụng các dấu phân tách khác nhau và cũng bằng cách bỏ qua số 0 ở đầu.

Đây là một ví dụ khác sử dụng DATE_ADD() hoạt động với các khoảng thời gian khác nhau:

SELECT DATE_ADD('2030-12-25', INTERVAL '2!8' DAY_HOUR);

Kết quả:

+-------------------------------------------------+
| DATE_ADD('2030-12-25', INTERVAL '2!8' DAY_HOUR) |
+-------------------------------------------------+
| 2030-12-27 08:00:00                             |
+-------------------------------------------------+

Dưới đây là một số ví dụ khác về các đơn vị tổng hợp khác nhau:

SELECT 
    DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:2' YEAR_MONTH) AS "YEAR_MONTH",
    DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:25:35' HOUR_SECOND) AS "HOUR_SECOND",
    DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' DAY_MINUTE) AS "DAY_MINUTE";

Kết quả:

+---------------------+---------------------+---------------------+
| YEAR_MONTH          | HOUR_SECOND         | DAY_MINUTE          |
+---------------------+---------------------+---------------------+
| 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-01 11:30:00 |
+---------------------+---------------------+---------------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thêm dấu phần trăm vào một số trong MariaDB

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

  3. Triển khai MySQL, MariaDB, Percona Server, MongoDB hoặc PostgreSQL - Dễ dàng với ClusterControl

  4. WEEKDAY () so với DAYOFWEEK () trong MariaDB:Sự khác biệt là gì?

  5. Cách tạo một bản sao của Cụm cơ sở dữ liệu MySQL hoặc PostgreSQL của bạn