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

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

Trong MariaDB, TIMESTAMPADD() là một hàm ngày và giờ được tích hợp sẵn để thêm một khoảng biểu thức số nguyên vào một biểu thức ngày tháng hoặc ngày giờ nhất định.

Cú pháp

Cú pháp như sau:

TIMESTAMPADD(unit,interval,datetime_expr)

Đơn vị unit là một trong các giá trị sau:

  • MICROSECOND
  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR

Các đơn vị có thể tùy chọn có tiền tố là SQL_TSI_ .

Ví dụ

Dưới đây là một ví dụ để chứng minh:

SELECT TIMESTAMPADD(DAY, 10, '2030-02-01');

Kết quả:

+-------------------------------------+
| TIMESTAMPADD(DAY, 10, '2030-02-01') |
+-------------------------------------+
| 2030-02-11                          |
+-------------------------------------+

Giá trị ngày giờ

Dưới đây là một ví dụ về việc chuyển một giá trị ngày giờ:

SELECT TIMESTAMPADD(HOUR, 10, '2030-02-01 10:30:45');

Kết quả:

+-----------------------------------------------+
| TIMESTAMPADD(HOUR, 10, '2030-02-01 10:30:45') |
+-----------------------------------------------+
| 2030-02-01 20:30:45                           |
+-----------------------------------------------+

Thêm SQL_TSI_ Tiền tố

Đơn vị có thể bao gồm một SQL_TSI_ tiền tố nếu được yêu cầu:

SELECT TIMESTAMPADD(SQL_TSI_YEAR, 10, '2030-02-01');

Kết quả:

+----------------------------------------------+
| TIMESTAMPADD(SQL_TSI_YEAR, 10, '2030-02-01') |
+----------------------------------------------+
| 2040-02-01                                   |
+----------------------------------------------+

Micro giây

Dưới đây là một ví dụ thêm micro giây:

SELECT TIMESTAMPADD(MICROSECOND, 123456, '2030-02-01 10:30:45');

Kết quả:

+----------------------------------------------------------+
| TIMESTAMPADD(MICROSECOND, 123456, '2030-02-01 10:30:45') |
+----------------------------------------------------------+
| 2030-02-01 10:30:45.123456                               |
+----------------------------------------------------------+

Khoảng thời gian phủ định

Khoảng âm là hợp lệ:

Ví dụ:

SELECT TIMESTAMPADD(YEAR, -10, '2030-02-01');

Kết quả:

+---------------------------------------+
| TIMESTAMPADD(YEAR, -10, '2030-02-01') |
+---------------------------------------+
| 2020-02-01                            |
+---------------------------------------+

Ngày hiện tại

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

SELECT 
    NOW(),
    TIMESTAMPADD(DAY, 10, NOW());

Kết quả:

+---------------------+------------------------------+
| NOW()               | TIMESTAMPADD(DAY, 10, NOW()) |
+---------------------+------------------------------+
| 2021-05-28 09:58:56 | 2021-06-07 09:58:56          |
+---------------------+------------------------------+

Thiếu đối số

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

Kết quả:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

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

SELECT TIMESTAMPADD(10, '2020-12-09');

Kết quả:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '10, '2020-12-09')' at line 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. So sánh Amazon RDS Point-in-Time Recovery với ClusterControl

  2. Danh sách đầy đủ các bộ ký tự được hỗ trợ bởi MariaDB

  3. Cách chuyển từ Oracle DB sang MariaDB

  4. Cách UTC_TIME () hoạt động trong MariaDB

  5. MariaDB ROWNUM () Giải thích