問題ID: 7988
- フォーラムは新サイトへ移行しました。
- このフォーラムではゲスト投稿が禁止されています
問題ID: 7988
msg# 1
tasuku0911
投稿数: 2
次の関数の結果として正しいものを1つ選択して下さい。
ただし、日付書式はRR-MM-DDとします。
MONTHS_BETWEEN('12-02-29', '12-05-31')
3
-3
-3.0322581
3.0322581
解答では、-3が正答となっていました。
Trunc関数がついているわけでもないのに、何故-3が正答なのでしょうか。私は【-3.0322581】が答えだと思いました。どなたか解説お願いします。
ただし、日付書式はRR-MM-DDとします。
MONTHS_BETWEEN('12-02-29', '12-05-31')
3
-3
-3.0322581
3.0322581
解答では、-3が正答となっていました。
Trunc関数がついているわけでもないのに、何故-3が正答なのでしょうか。私は【-3.0322581】が答えだと思いました。どなたか解説お願いします。
Re: 問題ID: 7988
msg# 1.1
arashi1977
居住地: 広島
投稿数: 1715
引用:なぜ「【-3.0322581】が答えだ」と思ったを提示できるとより良い学習になるのでお勧めですよ!
それはそれとして。
解説にはない条件があるんですね。参考URLを見てみましょう。
Oracle Database SQL言語リファレンス
MONTHS_BETWEEN
http://docs.oracle.com/cd/E16338_01/server.112/b56299/functions102.htm
引用:・2012年2月29日は2月の最終日(2012年はうるう年です)
・2012年5月31日は5月の最終日
・月の最終日同士の差を表示する(この例ではdate1がdate2より前の日付の場合、結果は負の値になる)ので、-3(ヶ月)となる
ってわけですね
Trunc関数がついているわけでもないのに、何故-3が正答なのでしょうか。私は【-3.0322581】が答えだと思いました。
それはそれとして。
解説にはない条件があるんですね。参考URLを見てみましょう。
Oracle Database SQL言語リファレンス
MONTHS_BETWEEN
http://docs.oracle.com/cd/E16338_01/server.112/b56299/functions102.htm
引用:
date1およびdate2が、月の同じ日または月の最終日の場合、結果は常に整数になります。
・2012年5月31日は5月の最終日
・月の最終日同士の差を表示する(この例ではdate1がdate2より前の日付の場合、結果は負の値になる)ので、-3(ヶ月)となる
ってわけですね
Re: 問題ID: 7988
msg# 1.1.1
tasuku0911
投稿数: 2
arashi1977さん、丁寧な解答ありがとうございました!
とても解りやすくおかげ様で理解することができました。
2月と5月の差を見て「-3」
29日と31日の差を見て「-0.0322581」
と考えてしまっていました。
解説ありがとうございました!<(_ _*)>
とても解りやすくおかげ様で理解することができました。
2月と5月の差を見て「-3」
29日と31日の差を見て「-0.0322581」
と考えてしまっていました。
解説ありがとうございました!<(_ _*)>
Re: 問題ID: 7988
msg# 1.2
lily02585lee
投稿数: 11
お疲れ様です、
-3は正しい回答だと思います。
なんでというと、'12-02-29'は2月最後の日です、'12-05-31'は5月の最後の日です、計算する時は日も見ないことになって、月だけで計算しています。
-3は正しい回答だと思います。
なんでというと、'12-02-29'は2月最後の日です、'12-05-31'は5月の最後の日です、計算する時は日も見ないことになって、月だけで計算しています。
Re: 問題ID: 7988
msg# 1.3
staff_meg
投稿数: 427
tasuku0911さん
ご指摘の点を修正致しました。
ご報告、誠にありがとうございました。
ご指摘の点を修正致しました。
ご報告、誠にありがとうございました。