Bài viết sau đây, SmartData sẽ hướng dẫn cho bạn 1 hàm dùng để chuyển đổi giây thành định dạng Time trong MySQL.
Tình Huống
Chúng ta có 1 bảng được đặt tên là athlete_score chứa những cột như sau: id, frist_name, last_name, và score_seconds.
id | first_name | last_name | score_seconds |
---|---|---|---|
1 | Emily | Watson | 1124 |
2 | Tom | Garcia | 987 |
3 | Gary | Martinez | 1003 |
4 | James | Anderson | 1233 |
Yêu cầu được đưa ra như sau:
Với mỗi vận động viên trong bảng, hãy lấy tên và số thời gian hoàn thành phần thi dưới định dạng HH:MM:SS.
Giải Pháp
Như ta đều thấy cột score_seconds được biểu thị dưới đơn vị giây. Và để chuyển sang định dạng được yêu cầu như đề bài, ta có thể dùng hàm SEC_TO_TIME(). Câu truy vấn sẽ như sau:
SELECT
first_name,
last_name,
SEC_TO_TIME(score_seconds)
AS
score_time
FROM
athlete_score;
Kết quả thu được là:
first_name | last_name | score_time |
---|---|---|
Emily | Watson | 00:18:44 |
Tom | Garcia | 00:16:27 |
Gary | Martinez | 00:16:43 |
James | Anderson | 00:20:33 |
Thảo Luận
Hàm SEC_TO_TIME() là 1 hàm built-in của MySQL. Hàm chỉ có 1 tham số và trả về định dạng TIME (HH:MM:SS), trong đó HH đại diện cho giờ (hour), MM đại diện cho phút (minute) và SS đại diện cho giây ( seconds).
Tổng Kết
SmartData đã giới thiệu đến các bạn cách thức chuyển đổi Giây thành định dạng Time trong MySQL, Hi vọng bài viết có thể cung cấp được các kiến thức mới và giúp ích được cho các bạn trong công việc.
Nếu bạn là newbie có thể tham khảo bài viết này để tìm hiểu lộ trình học DA trong 3 tháng của SmartData.
Nếu bạn thấy bài viết hay và hữu ích, bạn có thể tham gia các kênh sau của SmartData để nhận được nhiều hơn nữa: