PHP 根据时间戳计算年龄和月份

标签 php mysql sql

我正在运行这个 SQL:

SELECT TIMESTAMPDIFF(YEAR,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE()) as age FROM members

根据数据库中的时间戳计算出用户年龄。

我有 3 列(dob_year/dob_month/dob_day)

上面的查询计算出年龄,但我需要年和月。所以 age 不是 10 岁,而是 10 岁零 2 个月大。

最佳答案

    SELECT 
       TIMESTAMPDIFF(YEAR,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE()) 
      as 
        years, 
        (TIMESTAMPDIFF(MONTH,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE()) - 
        TIMESTAMPDIFF(YEAR,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE())*12) 
      as 
        months 
      FROM 
        members

关于PHP 根据时间戳计算年龄和月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19090094/

相关文章:

php - 如果我有 2 个表必须与标签表具有多对多关系,我是否需要 2 个中间表?

php - Jquery ajax post 将阿拉伯字符发送到 php 和 mysql 查询,例如

php - MySQL数据库主键使用

mysql - 在 sql 中获取错误的日期列差异?

mysql - 加入 2 个表 SQL 查询

nginx - Nginx 和 php-fpm 中的随机 "No input files specified"

php - mpdf忽略javascript

php - 如何使 MySQL 将下划线作为全文搜索的单词分隔符?

mysql - 如何/可以在 MySQL View 中使用 LIKE?

SQL Multiple select from 三个带外键的表