Trong MariaDB, SECOND()
là một hàm ngày và giờ được tích hợp sẵn trả về phần giây của một biểu thức thời gian nhất định.
Nó chấp nhận một đối số, đó là thời gian bạn muốn trích xuất từng giây.
Các giây được trả về dưới dạng một số trong phạm vi 0
thành 59
.
Cú pháp
Cú pháp như sau:
SECOND(time)
Nơi time
là biểu thức thời gian để lấy giây từ.
Ví dụ
Đây là một ví dụ:
SELECT SECOND('10:30:45');
Kết quả:
+--------------------+ | SECOND('10:30:45') | +--------------------+ | 45 | +--------------------+
Dưới đây là một ví dụ khác bao gồm micro giây:
SELECT SECOND('10:30:45.123456');
Kết quả:
+---------------------------+ | SECOND('10:30:45.123456') | +---------------------------+ | 45 | +---------------------------+
Dù bằng cách nào thì kết quả cũng giống nhau.
Giá trị ngày giờ
Nó cũng hoạt động với các giá trị ngày giờ:
SELECT SECOND('2030-02-01 10:30:45');
Kết quả:
+-------------------------------+ | SECOND('2030-02-01 10:30:45') | +-------------------------------+ | 45 | +-------------------------------+
Ngày hiện tại
Chúng ta có thể chuyển NOW()
làm đối số datetime để sử dụng thời gian hiện tại:
SELECT
NOW(),
SECOND(NOW());
Kết quả:
+---------------------+---------------+ | NOW() | SECOND(NOW()) | +---------------------+---------------+ | 2021-05-16 14:32:40 | 40 | +---------------------+---------------+
Đối số không hợp lệ
Khi truyền đối số thời gian không hợp lệ, SECOND()
trả về null
:
SELECT SECOND('10:75:00');
Kết quả:
+--------------------+ | SECOND('10:75:00') | +--------------------+ | NULL | +--------------------+
Thiếu đối số
Đang gọi SECOND()
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 SECOND();
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 SECOND('10:30:45', '06:30:45');
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 ' '06:30:45')' at line 1