mssql 通过身份证号显示 person 表中所有客户年龄(周岁即可)
时间: 2024-02-05 07:03:15 浏览: 77
sql语句 根据身份证号计算年龄
假设 person 表中身份证号字段为 id_card,出生日期字段为 birthday,则可以使用以下 SQL 语句计算客户年龄:
```sql
SELECT DATEDIFF(YEAR, birthday, GETDATE()) - CASE WHEN MONTH(birthday) > MONTH(GETDATE()) OR (MONTH(birthday) = MONTH(GETDATE()) AND DAY(birthday) > DAY(GETDATE())) THEN 1 ELSE 0 END AS age
FROM person
WHERE id_card = '身份证号'
```
其中,DATEDIFF(YEAR, birthday, GETDATE()) 计算当前日期与出生日期之间的年份差,减去一个修正值 CASE WHEN ... THEN 1 ELSE 0 END 可以根据出生日期和当前日期的月份和日期确定客户是否已经过生日,从而得到客户的实际年龄。
阅读全文