【问题标题】:Calculate age from datebirth sql field [duplicate]从 datebirth sql 字段计算年龄 [重复]
【发布时间】:2012-04-11 19:22:34
【问题描述】:

可能重复:
Calculate Age in MySQL (InnoDb)

我创建了一个表格,其中一列是“dob”(出生日期)。它以 0000-00-00 格式在表格中输入出生日期。但我需要用年龄而不是 0000-00-00 格式显示我的用户 ($id)。

我的当前页面以这种格式显示来自我的数据库的信息。它会显示不同用户的年龄。

<td align="center"><? echo $rows['age']; ?></td>

【问题讨论】:

  • 什么单位?年?天?几个月?年龄本身就像速度或体重。单位需要陪伴它。
  • 另外,您没有指定日期字符串的最后一个00-00mm-dd 还是dd-mm
  • @msanford 使用 MySQL 假设 yyyy-mm-dd 是安全的。但是,0000-00-0000 确实是模糊的。他应该指定字段的类型,除非它是需要明确说明日期格式的 varchar。

标签: php mysql


【解决方案1】:

这是您可以使用的 SQL 查询。

SELECT EXTRACT(YEAR FROM (FROM_DAYS(DATEDIFF(NOW(), '1982-01-01')))) AS age

【讨论】:

  • 现在已经看到上面的 cmets,需要注意的是:假设列 dob 的数据类型是日期或日期时间。
  • 我放了:SELECT EXTRACT(YEAR FROM users(FROM_DAYS(DATEDIFF(NOW(), '1982-01-01')))) AS age 但没有用
  • 您能详细说明“但没用”吗?您使用的是 MySQL,对吗? root@beren [~]# mysqlWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 13408Server version: 5.0.95-community MySQL Community Edition (GPL)``mysql> SELECT EXTRACT(YEAR FROM (FROM_DAYS(DATEDIFF(NOW(), '1982-01-01')))) AS age;+------+| age |+------+| 30 |+------++------+1 row in set (0.00 sec)@4``@9好像没有。
猜你喜欢
  • 2011-08-21
  • 2017-11-21
  • 1970-01-01
  • 2021-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-06
相关资源
最近更新 更多