出生年份使用sql

时间:2013-10-17 22:45:49

标签: sql oracle

如何使用今天的日期来计算“出生年份”,比如说age列的值是22,55,30,使用oracle sql从最小到最旧的顺序。

3 个答案:

答案 0 :(得分:4)

我会存储生日并在需要显示该信息时计算年龄。

生日不会改变。年龄会每年都在变化。

答案 1 :(得分:1)

假设你有今天生日的人的年龄,那么你可以通过这种方式获得出生年份:`

SELECT EXTRACT(YEAR from SYSDATE) - age as BirthYear
FROM TABLE1
ORDER BY BirthYear

答案 2 :(得分:0)

如果您拥有的只是年龄,则无法准确确定出生年份。考虑1970年12月31日出生的人。他们是

  • 1970年12月31日至1971年12月30日期间不到1岁
  • 1971年12月31日至1972年12月30日期间1岁

并考虑下周出生的人,比如1971年1月5日)。他们是

  • 1971年1月5日至1972年1月4日期间不到1岁
  • 1972年1月5日至1973年1月5日期间的1岁

现在是2013年(今天,实际上是2013年10月17日)。你对这两个人的所有了解都是他们43岁。 2013-43表示1970年是诞生年,但其中一个是错误的。鉴于该日期的日期和年龄,您可以做的最好是在实际出生年份的1年内。

您需要一个出生日期。