問題:19840
- フォーラムは新サイトへ移行しました。
- このフォーラムではゲスト投稿が禁止されています
問題:19840
msg# 1
junichi999
投稿数: 2
現在の日付は2012年06月23日です。
1999年4月1日から現在までの日数を求めるには、どのSQL文を実行しますか(該当するものをすべて選択してください)。
ただし、実行環境は英語環境とし、デフォルトの日付の表示形式は「RR-MM-DD」とします。
に対し、
○ SELECT TO_DATE(SYSDATE, 'RR-MM-DD') - TO_DATE('99-04-01', 'RR-MM-DD') FROM dual;
が正解として挙げられていますが、前半の
TO_DATE(SYSDATE, 'RR-MM-DD') について、
TO_DATE関数は文字値を引数として扱うので、即ちSYSDATE=日付値を設定したらエラーになり、本回答は不正解と思うのですが、違いますでしょうか?
1999年4月1日から現在までの日数を求めるには、どのSQL文を実行しますか(該当するものをすべて選択してください)。
ただし、実行環境は英語環境とし、デフォルトの日付の表示形式は「RR-MM-DD」とします。
に対し、
○ SELECT TO_DATE(SYSDATE, 'RR-MM-DD') - TO_DATE('99-04-01', 'RR-MM-DD') FROM dual;
が正解として挙げられていますが、前半の
TO_DATE(SYSDATE, 'RR-MM-DD') について、
TO_DATE関数は文字値を引数として扱うので、即ちSYSDATE=日付値を設定したらエラーになり、本回答は不正解と思うのですが、違いますでしょうか?
Re: 問題:19840
msg# 1.1
arashi1977
居住地: 広島
投稿数: 1715
引用:残念ながら違いますね
実際に実行すると解説の通りエラーにならずに期待通りの結果を得ることができます。
これは「暗黙の型変換」の話ですので、19577の参考とか見てみると答えがありますよ
TO_DATE関数は文字値を引数として扱うので、即ちSYSDATE=日付値を設定したらエラーになり、本回答は不正解と思うのですが、違いますでしょうか?
実際に実行すると解説の通りエラーにならずに期待通りの結果を得ることができます。
これは「暗黙の型変換」の話ですので、19577の参考とか見てみると答えがありますよ
Re: 問題:19840
msg# 1.2
junichi999
投稿数: 2
ご回答ありがとうございました。了解しました。