プロが教えるわが家の防犯対策術!

日付の計算で、(日付 - 日付)/数値は期間らしいですが、どのように使っているのですか?実例ありますか?

A 回答 (2件)

>>select to_date(20091211) - to_date(20091204) / 7 from dual


>>→ORA-00932: データ型が一致しません: NUMBERが予想されましたがDATEです。
>(日付 - 日付)は、to_numberでくくって数値に変換してから割り算しないと、エラーになるのですね。

to_numberで数値化しないのが問題なのではなく、カッコを忘れてるから、
日付型と数値の演算になってるのがエラーの理由です。
select (to_date(20091211) - to_date(20091204)) / 7 from dual
のように、質問のような式であれば、to_numberなしでも結果は戻ります。
    • good
    • 1
この回答へのお礼

ありがとうございました。

お礼日時:2009/12/06 07:18

期間とか分からないけど。


ご自身で考えてみてください。

select to_date(20091211) - to_date(20091204) from dual
→7
select to_date(20091211) - to_date(20091204) / 7 from dual
→ORA-00932: データ型が一致しません: NUMBERが予想されましたがDATEです。
select to_number(to_date(20091211) - to_date(20091204)) / 7 from dual
→1
    • good
    • 0
この回答へのお礼

(日付 - 日付)は、to_numberでくくって数値に変換してから割り算しないと、エラーになるのですね。ありがとうございました。

お礼日時:2009/12/05 18:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す