Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Làm tròn giây đến gần nhất nửa phút trong MySQL

Sử dụng hàm CEILING() để làm tròn lên.

Tạo bảng demo

mysql> create table DemoTable (secondValue int);
Query OK, 0 rows affected (0.64 sec)

Chèn dữ liệu (giây)

mysql> insert into DemoTable values(27);
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable values(56);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(118);
Query OK, 1 row affected (0.20 sec)

Hiển thị dữ liệu

mysql> select * from DemoTable;

Kết quả

+-------------+
| secondValue |
+-------------+
| 27          |
| 56          |
| 118         |
+-------------+
3 rows in set (0.00 sec)

Truy vấn làm tròn giây đến nửa phút (30 giây)

mysql> select secondValue, CEILING(secondValue / 30) / 2 AS ApproxMinutes from DemoTable;

Kết quả

+-------------+---------------+
| secondValue | ApproxMinutes |
+-------------+---------------+
| 27          | 0.5000        |
| 56          | 1.0000        |
| 118         | 2.0000        |
+-------------+---------------+
3 rows in set (0.00 sec)

Giải thích công thức:

  • secondValue / 30: Chuyển giây sang đơn vị "nửa phút" (27/30=0.9, 56/30=1.866, 118/30=3.933).
  • CEILING(...): Làm tròn lên số nguyên gần nhất (1, 2, 4).
  • / 2: Chuyển về phút (0.5, 1.0, 2.0 phút).

Bảng đối chiếu:

Giây/30CEILING/2 (phút)
270.910.5
561.8721.0
1183.9342.0

Biến thể: Làm tròn đến phút gần nhất: ROUND(secondValue / 60). Làm tròn xuống nửa phút: FLOOR(secondValue / 30) / 2.