Mysql
 sql >> база данни >  >> RDS >> Mysql

Изчислете възрастта с десетични знаци от датата на раждане

Обикновено изчисляването на DOB е доста лесно в mysql, когато искате да изчислите годините без никаква дроб, нещо като

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

Но тъй като имате нужда и от дроба, това трябва да свърши работа

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

Година се счита за 365,25 дни.

Така че във вашия случай може да имате заявката като

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. Предаване на стойности към операцията MySQL IN в подготвеното изявление за PDO?

  2. Трябва да променя формата на датата с помощта на php

  3. Как да разбера дали при използване на актуализация на дублиран ключ е бил вмъкнат или актуализиран ред?

  4. Как правилно да запиша данни в базата данни?

  5. Създайте MySQL база данни