Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Oblicz wiek z ułamkami dziesiętnymi od daty urodzenia

Zwykle obliczenie DOB jest dość łatwe w mysql, gdy chcesz obliczyć lata bez ułamka jako

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

Ale ponieważ potrzebujesz również ułamka, to powinno wystarczyć

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

Za rok uważa się 365,25 dni.

Więc w twoim przypadku możesz mieć zapytanie jako

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. Jak zapisać wiele wejść wierszy w tej samej kolumnie bazy danych?

  2. Ostatnie czynności użytkownika - PHP MySQL

  3. MySQL, kopiowanie plików tabel powoduje BŁĄD 1017 (HY000):Nie można znaleźć pliku:mimo że tam jest

  4. Odpowiednik explode() do pracy z ciągami w MySQL

  5. JSON_ARRAY() – Utwórz tablicę JSON z listy wartości w MySQL