Khi làm việc với MySQL, bạn có thể sử dụng TIME()
hàm để trích xuất phần thời gian từ một giá trị thời gian hoặc ngày giờ.
Cách hoạt động của nó là bạn chuyển biểu thức time / datetime vào làm đối số và TIME()
sẽ trả lại phần thời gian.
Cú pháp
Cú pháp như sau:
TIME(expr)
Ở đâu expr
là biểu thức thời gian / ngày giờ mà bạn muốn trích xuất phần thời gian từ đó.
Ví dụ cơ bản
Dưới đây là một ví dụ sử dụng giá trị ngày giờ.
SELECT TIME('2021-01-03 11:15:45');
Kết quả:
+-----------------------------+ | TIME('2021-01-03 11:15:45') | +-----------------------------+ | 11:15:45 | +-----------------------------+
Giây phân số
Dưới đây là một ví dụ trong đó giá trị ngày giờ cũng chứa một phần giây phân số.
SELECT TIME('2021-01-03 11:15:45.123456');
Kết quả:
+------------------------------------+ | TIME('2021-01-03 11:15:45.123456') | +------------------------------------+ | 11:15:45.123456 | +------------------------------------+
Bỏ qua phần giây
Dưới đây là một ví dụ trong đó phần giây bị bỏ qua khỏi giá trị ban đầu.
SELECT TIME('2021-01-03 11:15');
Kết quả:
+--------------------------+ | TIME('2021-01-03 11:15') | +--------------------------+ | 11:15:00 | +--------------------------+
Trong trường hợp này, phần giây vẫn được trả về, mặc dù nó đã bị bỏ qua khỏi giá trị ban đầu.
Trích xuất thời gian từ giá trị "thời gian"
Như đã đề cập, đối số đầu tiên có thể là giá trị thời gian (tức là không nhất thiết phải là giá trị ngày giờ).
SELECT TIME('11:15');
Kết quả:
+---------------+ | TIME('11:15') | +---------------+ | 11:15:00 | +---------------+
Sao chép dựa trên tuyên bố - Cảnh báo
Các tài liệu MySQL nêu rõ điều sau về TIME()
chức năng:
Chức năng này không an toàn cho việc sao chép dựa trên câu lệnh. Cảnh báo sẽ được ghi lại nếu bạn sử dụng chức năng này khi
binlog_format
được đặt thànhSTATEMENT
.