sql >> データベース >  >> RDS >> Mysql

生年月日から小数で年齢を計算する

    のように分数なしで年を計算したい場合、通常、mysqlではDOB計算は非常に簡単です。
    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. データベースが更新されるたびにC#クライアントを更新します

    2. Postgresqlのデータベース照合、Ctypeを変更します

    3. ALTER TABLE LIKE

    4. PHPを使用してユーザー名がすでに存在するかどうかを確認します