我有一个SELECT语句,在进行测试时请求他个人的年龄:
SELECT
DATEDIFF(dd,BIRTH_DATE,TEST_DATE)/365.25 [Age at Result]
FROM TABLE
WHERE ID = '100'
结果如2.056125
。
我在另一个post上看到转换为秒并除以86400.0
,但我仍然得到6个小数点。
我要回顾的是将年龄定为2.05
,甚至是2.00
。
由于
答案 0 :(得分:1)
您可以使用所需的精度转换为小数:
SELECT CAST(DATEDIFF(day, BIRTH_DATE, TEST_DATE)/365.25 as DECIMAL(10, 2)) as [Age at Result]
FROM TABLE
WHERE ID = 100;
注意:我删除了“100”附近的单引号。如果id
是字符串,则仅使用单引号。
答案 1 :(得分:1)
我会使用以下内容 -
DECLARE @TestDate DATETIME = GETDATE()
DECLARE @BirthDate DATETIME = '1995-06-06 08:00:00.000'
SELECT CAST(DATEDIFF(dd,@BirthDate,@TestDate)/365.25 AS DECIMAL(10, 2)) [Age at Result]