Trong MariaDB, ADDTIME()
là một hàm ngày và giờ được tích hợp sẵn để thêm một lượng vào biểu thức thời gian hoặc ngày giờ.
Nó cho phép bạn thay đổi biểu thức thời gian hoặc ngày giờ bằng cách chuyển biểu thức đó, cũng như biểu thức thời gian để thêm vào biểu thức đó. Bạn có thể chuyển một số âm nếu bạn cần trừ khỏi biểu thức thời gian.
Cú pháp
Cú pháp như sau:
ADDTIME(expr1,expr2)
Trong đó expr1
là một biểu thức thời gian hoặc ngày giờ và expr2
là một biểu thức thời gian.
Ví dụ
Đây là một ví dụ:
SELECT ADDTIME('10:00:00', '02:30:45');
Kết quả:
+---------------------------------+ | ADDTIME('10:00:00', '02:30:45') | +---------------------------------+ | 12:30:45 | +---------------------------------+
Biểu thức ngày giờ
Đối số đầu tiên cũng có thể là một biểu thức datetime:
SELECT ADDTIME('2021-05-01 10:00:00', '22:30:45');
Kết quả:
+--------------------------------------------+ | ADDTIME('2021-05-01 10:00:00', '22:30:45') | +--------------------------------------------+ | 2021-05-02 08:30:45 | +--------------------------------------------+
Trong trường hợp này, thời gian được thêm vào là đủ để đẩy ngày này sang ngày hôm sau và điều này được phản ánh trong kết quả.
Biểu thức thời gian ở định dạng lỏng hơn
MariaDB cho phép ấn định thời gian ở các định dạng lỏng hơn, chẳng hạn như giảm các số 0 ở đầu và cung cấp một giá trị trong ngày.
Do đó, chúng ta có thể làm điều này:
SELECT ADDTIME('2021-05-01 10:00:00', '366 1:1:1.123456');
Kết quả:
+----------------------------------------------------+ | ADDTIME('2021-05-01 10:00:00', '366 1:1:1.123456') | +----------------------------------------------------+ | 2022-05-02 11:01:01.123456 | +----------------------------------------------------+
Khoảng thời gian phủ định
Việc cung cấp một khoảng âm cho phần ngày sẽ trừ số tiền đó khỏi thời gian / ngày giờ.
Ví dụ:
SELECT ADDTIME('2021-05-01 10:00:00', '-366 1:1:1.123456');
Kết quả:
+-----------------------------------------------------+ | ADDTIME('2021-05-01 10:00:00', '-366 1:1:1.123456') | +-----------------------------------------------------+ | 2020-04-30 08:58:58.876544 | +-----------------------------------------------------+
Đối số rỗng
Nếu bất kỳ đối số nào là null
, kết quả là null
:
SELECT
ADDTIME('10:00:00', null),
ADDTIME(null, '02:30:45'),
ADDTIME(null, null);
Kết quả:
+---------------------------+---------------------------+---------------------+ | ADDTIME('10:00:00', null) | ADDTIME(null, '02:30:45') | ADDTIME(null, null) | +---------------------------+---------------------------+---------------------+ | NULL | NULL | NULL | +---------------------------+---------------------------+---------------------+
Thiếu đối số
Gọi ADDTIME()
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 ADDTIME();
Kết quả:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ADDTIME'