- ベストアンサー
(日付 - 日付)/数値
日付の計算で、(日付 - 日付)/数値は期間らしいですが、どのように使っているのですか?実例ありますか?
- みんなの回答 (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なしでも結果は戻ります。
その他の回答 (1)
- id_fates_5
- ベストアンサー率23% (22/92)
回答No.1
期間とか分からないけど。 ご自身で考えてみてください。 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
質問者
お礼
(日付 - 日付)は、to_numberでくくって数値に変換してから割り算しないと、エラーになるのですね。ありがとうございました。
お礼
ありがとうございました。