SQL 根据dob计算年龄
SQL Age calculation based on dob
我的代码在一定程度上可以正常工作,但它没有给我作业所需的输出,我不确定我的代码有什么问题。如果有人可以让我知道,我将不胜感激。也不知道为什么第三个是完全错误的。
外观:
它应该是什么样子的:
SELECT s_first||' '||s_mi|| '. '||s_last AS "Full Name", s_dob AS "Date of Birth", TRUNC(MONTHS_BETWEEN(SYSDATE, s_dob)/12,2) AS "Age"
FROM student
WHERE s_dob LIKE '%86%'
ORDER BY s_dob;
除了 Gordon 提到的在日期字段上使用 "like" 之外,您没有问题。您显示的所谓错误的答案确实是正确的——就今天的日期而言。事实上,您显示为正确的答案只有在当前日期为 2014 年 9 月 4 日或 5 日时才是正确的。(假设您显示的“7.75”实际上是“27.75”。)
您似乎试图匹配去年生成的报告的结果。
我的代码在一定程度上可以正常工作,但它没有给我作业所需的输出,我不确定我的代码有什么问题。如果有人可以让我知道,我将不胜感激。也不知道为什么第三个是完全错误的。
外观:
它应该是什么样子的:
SELECT s_first||' '||s_mi|| '. '||s_last AS "Full Name", s_dob AS "Date of Birth", TRUNC(MONTHS_BETWEEN(SYSDATE, s_dob)/12,2) AS "Age"
FROM student
WHERE s_dob LIKE '%86%'
ORDER BY s_dob;
除了 Gordon 提到的在日期字段上使用 "like" 之外,您没有问题。您显示的所谓错误的答案确实是正确的——就今天的日期而言。事实上,您显示为正确的答案只有在当前日期为 2014 年 9 月 4 日或 5 日时才是正确的。(假设您显示的“7.75”实际上是“27.75”。)
您似乎试图匹配去年生成的报告的结果。