Oracle DBを使用しており、日付の違いを年単位で見つけようとしています。DateDiff
グーグルして、関数が使えることを知りました。この関数を使用している場合:
select datediff(year, date_1, date_2) as Age_Diff
from employee
エラーが発生します
ORA-00904: "DATEDIFF": invalid identifier.
これの何が悪いのか提案してください。
Oracle DBを使用しており、日付の違いを年単位で見つけようとしています。DateDiff
グーグルして、関数が使えることを知りました。この関数を使用している場合:
select datediff(year, date_1, date_2) as Age_Diff
from employee
エラーが発生します
ORA-00904: "DATEDIFF": invalid identifier.
これの何が悪いのか提案してください。
DATEDIFF
Oracleに存在する関数ではありません。
正確には、2つの日付の年の違いを取得することはあなたにとって何を意味しますか?たとえば、2010-04-01と2012-01-01の日付が与えられた場合、期待される出力は何ですか?違いは1年9か月なので、1.75になりますか?または、これらの9か月の日数と1年の日数を数え、答えを割って1.75とは少し異なるものを取得する必要がありますか?
私の最初の推測はあなたが欲しいということです
SELECT months_between( date_1, date_2 )/12 years_between
FROM employee
1年の小数部分を無視したい場合
SELECT floor( months_between( date_1, date_2 )/12) floor_years_between
FROM employee