gpt4 book ai didi

sql - 如何计算两个日期之间的年龄/年数

转载 作者:行者123 更新时间:2023-12-02 21:26:37 24 4
gpt4 key购买 nike

Possible Duplicate:
How to calculate age in T-SQL with years, months, and days

在我正在进行的一个项目中,我需要计算一个人加入系统时的年龄;在互联网上查看后,我发现了多种方法可以做到这一点,但大多数方法在涉及闰年时都会遇到一些小问题。

下面的解决方案是我如何计算过去的年数/年龄。希望这对其他人有帮助

最佳答案

您需要将以下方法添加到数据库中:

CREATE FUNCTION [dbo].[fnCalAge] (@DiffFrom DATE, @DiffTo DATE) RETURNS INT
AS
BEGIN
DECLARE @NumOfYears INT
SET @NumOfYears = (SELECT
DATEDIFF(YEAR, @DiffFrom, @DiffTo) +
CASE
WHEN MONTH(@DiffTo) < MONTH(@DiffFrom) THEN -1
WHEN MONTH(@DiffTo) > MONTH(@DiffFrom) THEN 0
ELSE
CASE WHEN DAY(@DiffTo) < DAY(@DiffFrom) THEN -1 ELSE 0 END
END)
IF @NumOfYears < 0
BEGIN
SET @NumOfYears = 0;
END

RETURN @NumOfYears;
END

然后您可以在 SQL 查询中调用它,类似于以下内容:

SET DATEFORMAT dmy 

SELECT dbo.fnCalAge(CAST('20/06/1987' AS DATE), CAST('20/06/2013' AS DATE))

关于sql - 如何计算两个日期之间的年龄/年数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14071919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com