Bài tập thực hành hàm DATE, DAY, MONTH, YEAR, NOW, TODAY, WEEKDAY, HOUR, MINUTE, SECOND
Dưới đây là 5 bài tập với bảng dữ liệu chấm công. Mỗi bài gồm 5 yêu cầu áp dụng các hàm ngày giờ. Có gợi ý cách làm kèm theo.
Bài 1
| Họ tên | Ngày đi làm | Giờ vào | Giờ ra |
|---|---|---|---|
| An | 01/08/2023 | 08:05 | 17:15 |
| Bình | 02/08/2023 | 07:55 | 17:00 |
| Lan | 03/08/2023 | 08:10 | 17:20 |
| Hùng | 04/08/2023 | 08:00 | 17:30 |
- Tách ngày trong cột "Ngày đi làm". Gợi ý: dùng hàm DAY()
- Tách tháng trong cột "Ngày đi làm". Gợi ý: MONTH()
- Lấy năm trong cột "Ngày đi làm". Gợi ý: YEAR()
- Tính tổng số giờ làm việc mỗi ngày. Gợi ý: HOUR(giờ_ra-giờ_vào)
- Xác định ngày đi làm rơi vào thứ mấy. Gợi ý: WEEKDAY()
Bài 2
| Họ tên | Ngày đi làm | Giờ vào | Giờ ra |
|---|---|---|---|
| Minh | 05/09/2023 | 08:00 | 17:10 |
| Trang | 06/09/2023 | 08:20 | 17:30 |
| Hải | 07/09/2023 | 07:50 | 17:00 |
| Thảo | 08/09/2023 | 08:05 | 17:15 |
- Lấy ngày trong "Ngày đi làm".
- Lấy tháng trong "Ngày đi làm".
- Lấy năm trong "Ngày đi làm".
- Tính số giờ làm việc chính xác đến phút. Gợi ý: HOUR và MINUTE()
- Xác định thứ trong tuần (hiện thị dạng 2=Thứ 2,...7=Thứ 7). Gợi ý: WEEKDAY(...,2)
Bài 3
| Họ tên | Ngày đi làm | Giờ vào | Giờ ra |
|---|---|---|---|
| Quang | 02/10/2023 | 08:15 | 17:05 |
| Phúc | 03/10/2023 | 07:55 | 17:25 |
| Hạnh | 04/10/2023 | 08:10 | 17:00 |
| Vinh | 05/10/2023 | 08:05 | 17:35 |
- Hiển thị ngày hiện tại. Gợi ý: TODAY()
- Hiển thị ngày giờ hiện tại. Gợi ý: NOW()
- Tính số giờ làm việc. Giờ_ra - Giờ_vào
- Tách ra giờ vào (HOUR), phút vào (MINUTE).
- Tách ra giờ ra (HOUR), phút ra (MINUTE).
Bài 4
| Họ tên | Ngày đi làm | Giờ vào | Giờ ra |
|---|---|---|---|
| Sơn | 06/11/2023 | 07:50 | 17:00 |
| Mai | 07/11/2023 | 08:25 | 17:20 |
| Hùng | 08/11/2023 | 08:10 | 17:10 |
| Phương | 09/11/2023 | 08:05 | 17:40 |
- Lấy ra ngày, tháng, năm riêng biệt từ cột "Ngày đi làm".
- Tính tổng số giờ làm việc trong ngày.
- Xác định nhân viên nào vào làm trước 8h00. Gợi ý: HOUR(Giờ_vào)
- Xác định nhân viên nào về sau 17h30.
- Ghép lại thành định dạng chuẩn YYYY-MM-DD. Gợi ý: DATE(YEAR,MONTH,DAY)
Bài 5
| Họ tên | Ngày đi làm | Giờ vào | Giờ ra |
|---|---|---|---|
| Nam | 04/12/2023 | 08:00 | 17:20 |
| Hoa | 05/12/2023 | 08:15 | 17:05 |
| Tuấn | 06/12/2023 | 07:55 | 17:10 |
| Linh | 07/12/2023 | 08:05 | 17:25 |
- Lấy ngày, tháng, năm từ "Ngày đi làm".
- Xác định nhân viên nào làm việc vào thứ 2. Gợi ý: WEEKDAY()
- Tính tổng số giờ làm việc.
- Tính tổng số phút làm việc. Gợi ý: HOUR*60+MINUTE
- Hiển thị thời điểm hiện tại bằng NOW().
Đáp án
Bài 1: DAY=1,2,3,4. MONTH=8. YEAR=2023. Giờ làm việc ≈ 9h-9h30. WEEKDAY cho ra giá trị 2=Thứ 2,...
Bài 2: DAY=5,6,7,8. MONTH=9. YEAR=2023. Thời gian làm việc: ~9h10’, 9h10’, 9h10’, 9h10’. WEEKDAY(...,2) trả về 2→5.
Bài 3: TODAY() hiển thị ngày hệ thống. NOW() hiển thị ngày giờ hệ thống. HOUR/MINUTE tách chính xác giờ vào - giờ ra.
Bài 4: DATE cho kết quả chuẩn 2023-11-06,... Nhân viên vào trước 8h: Sơn (07:50). Nhân viên về sau 17:30: Phương.
Bài 5: DATE trả về 2023-12-04,... WEEKDAY xác định thứ. Nam làm ngày 04/12/2023 → Thứ 2. Giờ làm việc ≈ 9h-9h30. Phút làm việc ≈ 560–580 phút. NOW() hiện thời điểm hiện tại.
