sql根据生日计算年龄并更新
时间: 2023-08-04 09:35:33
浏览: 61
您可以使用以下SQL语句计算年龄并[更新](https://geek.csdn.net/educolumn/30e87f306d14e49a5ec8ce52988b493b?spm=1055.2569.3001.10083)到您的表中:
UPDATE `表名`
SET `年龄` = TIMESTAMPDIFF(YEAR, `生日`, CURDATE())
其中,`表名`是您要[更新](https://geek.csdn.net/educolumn/30e87f306d14e49a5ec8ce52988b493b?spm=1055.2569.3001.10083)的表名,`年龄`是您要[更新](https://geek.csdn.net/educolumn/30e87f306d14e49a5ec8ce52988b493b?spm=1055.2569.3001.10083)的列名,`生日`是您的生日列名。`TIMESTAMPDIFF`[[函数](https://geek.csdn.net/educolumn/2319d2a62911adc34b96ea572d8225a2?spm=1055.2569.3001.10083)](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)可以用来计算两个日期之间的差值,第一个参数是要计算的单位(这里是年),第二个参数是开始日期(生日),第三个参数是结束日期(当前日期),即`CURDATE()`。
相关问题
sql 根据年月计算年龄
假设有一个名为`person`的表格,其中有一个名为`birthday`的列,存储了每个人的出生日期。要根据年月计算年龄,可以使用以下SQL语句:
```sql
SELECT
YEAR(CURDATE()) - YEAR(birthday) -
(RIGHT(CURDATE(), 5) < RIGHT(birthday, 5)) AS age
FROM person;
其中,`CURDATE()`函数返回当前日期,`YEAR()`函数返回日期的年份,`RIGHT()`函数返回字符串中的最后几个字符。
该语句将计算每个人的出生年份与当前年份之差,再根据月日判断是否已经过了生日,最终得到每个人的年龄。
sqlserver根据生日查询年龄
可以使用DATEDIFF函数和GETDATE函数来计算年龄。例如,假设您的表中有一个名为"person"的列,其中包含生日信息,您可以使用以下SQL查询来计算每个人的年龄:
```sql
SELECT DATEDIFF(YEAR, person.birthday, GETDATE()) A
```