Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tính tuổi với số thập phân từ ngày sinh

Thông thường, tính toán DOB khá dễ dàng trong mysql khi bạn muốn tính toán các năm mà không có bất kỳ phân số nào như

mysql> select timestampdiff(YEAR,'1981-06-01',now());
+----------------------------------------+
| timestampdiff(YEAR,'1981-06-01',now()) |
+----------------------------------------+
|                                     33 |
+----------------------------------------+

Nhưng vì bạn cũng cần phân số nên điều này sẽ thực hiện thủ thuật

mysql> select format(datediff(curdate(),'1981-06-01') / 365.25,2);
+-----------------------------------------------------+
| format(datediff(curdate(),'1981-06-01') / 365.25,2) |
+-----------------------------------------------------+
| 33.02                                               |
+-----------------------------------------------------+

Năm được coi là 365,25 ngày.

Vì vậy, trong trường hợp của bạn, bạn có thể có truy vấn là

select 
format(datediff(curdate(),dob) / 365.25,2) as dob 
from players limit 5;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JDBC VS Hibernate

  2. Cách cài đặt MySQL Workbench trên Ubuntu

  3. Làm cách nào để mở MySQL trên Raspberry Pi cho Kết nối Bên ngoài / Từ xa?

  4. Mất kết nối với máy chủ MySQL trong khi truy vấn trên các truy vấn đơn giản ngẫu nhiên

  5. Truy vấn SQL vào ngày khi loại là VARCHAR