2013-10-17 2 views
0

오늘 날짜를 사용하여 "birth year"를 계산하는 방법, 예를 들어 age 열에는 oracle sql을 사용하여 가장 오래되었거나 오래된 순서대로 22,55,30의 값이 있습니다.SQL을 사용하는 탄생 연도

+0

왜 한 열에 여러 값이 있습니까? 여러 행 또는 한 행을 쉼표로 구분합니까? – Michael

+0

이것은 복수 행입니다. – srinu

+6

10 인이라고 말하십시오. 2003 년 1 월 - 2003 년 10 월 17 일 또는 2002 년 10 월 18 일 - 2002 년 12 월 31 일에 내가 태어 났는지 어떻게 알 수 있습니까? – Laurence

답변

1

의 당신이 사람의 생일 오늘날의 나이를 가지고 있다고 가정 해 봅시다, 당신은 출생 연도 이런 식으로 얻을 수있다 :`나는 생일을 저장하는 것

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

을하고 해당 정보를 표시해야 할 때 나이를 계산 .

생일은 변경되지 않습니다. 나이는 매년 바뀔 것입니다.

0

당신이 가지고있는 것이 모두 있다면 나이를 정확하게 결정할 수 없습니다. 누군가가 1970 년 12 월 31 일에 태어난 것을 고려 그들은 기간 동안 1 세 이상

  • 작은 31 년 12 월의 기간 1971년 12월 31일 — 1972년 12월 30일
  • 동안 세 1970 — 1971년 12월 30일
  • 일년

그리고 누군가가 바로 다음 주에 태어난 고려는) 1971 1월 5일을 말한다. 그들은 기간 1972년 1월 5일 — 1973년 1월 4일

  • 동안의 기간 세의 1971년 1월 5일 — 1월 4일 1972
  • 일년 동안 1 세 이상
    • 이하

      있습니다

      지금은 2013입니다 (오늘, 사실, 2013 년 10 월 17 일). 이 두 사람에 대해 알고있는 것은 모두 43 세입니다. 2013 ~ 43 년은 1970 년이 탄생 연도라고 말합니다.하지만 그 중 하나는 잘못되었습니다. 그 날의 날짜와 나이를 감안할 때 할 수있는 최선의 방법은 실제 출생 연도의 1 년 이내에받는 것입니다.

      생년월일이 필요합니다.

  • 관련 문제