【发布时间】:2021-03-18 02:16:40
【问题描述】:
我有一个查询,结果显示一列年龄,这个年龄是根据“日期”数据类型字段计算的。我想为符合条件的所有记录添加平均年龄。
我一直在搜索谷歌,但没有成功,当我尝试投射时,我得到一个无效的数据类型错误
任何帮助将不胜感激
SELECT P.First_name, P.Last_name, P.Sex, P.Ethnicity,
Round((sysdate - P.D_O_B) / 365,0) as Age,
CAST( AVG(CAST(CAST(P.D_O_B as DateTime) as Float)) as DateTime)
From Patient P, Tests T
where T.Patient_ID = P.NHS_Number
and T.Result = 'Positive'
and T.date_of_test + 14 > SYSDATE
Group by P.first_name, P.Last_Name, P.Sex, P.Ethnicity, P.D_O_B
Order by Age desc;
这是一个示例,说明我在计算平均年龄时没有失败
【问题讨论】:
-
转换失败,因为没有要转换的“日期时间”类型。
标签: sql oracle datetime aggregate-functions date-arithmetic