mysql出生日期计算年龄
时间: 2023-06-15 10:02:56 浏览: 74
可以使用 MySQL 内置的日期函数 `TIMESTAMPDIFF` 和 `DATE_FORMAT` 来计算出生日期对应的年龄。
下面是一个示例 SQL 语句:
```sql
SELECT DATE_FORMAT(birthday, '%Y-%m-%d') AS birthday,
TIMESTAMPDIFF(YEAR, birthday, CURDATE()) AS age
FROM users;
```
其中,`birthday` 是一个日期类型的字段,`CURDATE()` 函数返回当前日期。
`TIMESTAMPDIFF(YEAR, birthday, CURDATE())` 表示计算 `birthday` 到当前日期相差的年数,`DATE_FORMAT(birthday, '%Y-%m-%d')` 则将 `birthday` 格式化为标准的日期字符串。
如果你想在查询结果中只保留年龄,可以使用如下 SQL 语句:
```sql
SELECT TIMESTAMPDIFF(YEAR, birthday, CURDATE()) AS age
FROM users;
```
相关问题
用出生日期通过mysql算年龄
可以使用 MySQL 内置函数 `DATEDIFF` 和 `YEAR` 来计算年龄。具体步骤如下:
1. 将出生日期转换为 MySQL 的日期格式,可以使用 `STR_TO_DATE` 函数。
2. 使用 `DATEDIFF` 函数计算出生日期到当前日期的天数。
3. 使用 `YEAR` 函数将天数转换为年数。
下面是示例 SQL 语句:
```
SELECT YEAR(CURDATE()) - YEAR(STR_TO_DATE('1990-01-01', '%Y-%m-%d')) AS age;
```
其中,`STR_TO_DATE('1990-01-01', '%Y-%m-%d')` 将字符串 `'1990-01-01'` 转换为 MySQL 的日期格式;`YEAR(CURDATE())` 返回当前年份;`YEAR(CURDATE()) - YEAR(...)` 计算年龄。
用出生日期通过mysql算年龄,并举个例子
可以使用MySQL内置的函数`DATEDIFF()`和`YEAR()`来计算年龄。具体的方法是,将当前日期减去出生日期得到相差的天数,然后再将天数除以365得到年龄的大致值,最后再根据出生日期和当前日期的月份和日期的大小关系,对年龄进行微调。
以下是一个示例查询,假设出生日期为1990年5月20日,当前日期为2021年10月1日:
```
SELECT
YEAR(CURDATE()) - YEAR('1990-05-20') -
CASE
WHEN MONTH(CURDATE()) < MONTH('1990-05-20')
OR (MONTH(CURDATE()) = MONTH('1990-05-20') AND DAY(CURDATE()) < DAY('1990-05-20'))
THEN 1
ELSE 0
END AS age;
```
该查询会返回如下结果:
```
+-----+
| age |
+-----+
| 31 |
+-----+
```
可以看出,该出生日期对应的年龄为31岁。