SQLser 根据出生日期计算年龄
时间: 2023-08-09 21:05:20 浏览: 101
SQLServer 根据生日计算年龄
可以使用 SQL Server 内置的函数来根据出生日期计算年龄。以下是一个示例代码:
```sql
DECLARE @birthDate DATE = '1990-01-01' -- 出生日期
DECLARE @nowDate DATE = GETDATE() -- 当前日期
-- 如果出生日期大于当前日期,则交换两个日期
IF (@nowDate < @birthDate)
SET @birthDate = @nowDate, @nowDate = @birthDate
-- 计算年龄
SELECT DATEDIFF(YEAR, @birthDate, @nowDate) - (CASE WHEN DATEADD(YEAR, DATEDIFF(YEAR, @birthDate, @nowDate), @birthDate) > @nowDate THEN 1 ELSE 0 END) AS Age
```
示例中使用了 `GETDATE` 函数来获取当前日期,使用了 `IF` 语句来判断出生日期和当前日期的大小,并使用 `SET` 语句来交换两个日期。最后使用 `DATEDIFF` 函数来计算两个日期之间的年份差,再根据是否超过生日来减去可能的一岁。
阅读全文