Re: 問題ID: 8043

この質問の投稿一覧へ

なし Re: 問題ID: 8043

msg# 1.1
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016-9-26 14:43 | 最終変更
arashi1977  長老 居住地: 広島  投稿数: 1715
設問には以下の条件設定があります。
引用:
ただし、データベースの実行環境は日本語環境とし、日付書式は"RR-MM-DD"とします。
また、解説でも日付書式について以下のように言及されています。
引用:
設問では、日本語環境で日付書式が"RR-MM-DD"であるのに対し、"DD-MON-RR"の形式で日付リテラルが指定されていますので、暗黙的なデータ変換が行われません。
私の環境作成がおかしい可能性は否定できませんが、設問にある通り日本語環境で実行すると以下のように解説にあるとおりのエラーになります。
# sqlplus pingt/oracle

SQL*Plus: Release 11.2.0.2.0 Production on 月 9月 26 14:39:16 2016

Copyright (c) 1982, 2011, Oracle.  All rights reserved.



Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
に接続されました。
SQL> SELECT employee_id, employee_name, hiredate FROM employees WHERE hiredate >= '30-APR-10';
SELECT employee_id, employee_name, hiredate FROM employees WHERE hiredate >= '30-APR-10'
                                                                             *
行1でエラーが発生しました。:
ORA-01858: 数値を指定する箇所に数値以外の文字が指定されています
念のためNLS_LANGを変更して英語環境でsqlplusを起動して実行すると、エラーにならず結果が出力されますね。
# NLS_LANG=AMERICAN_AMERICA sqlplus pingt/oracle

SQL*Plus: Release 11.2.0.2.0 Production on Mon Sep 26 14:41:15 2016

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL> SELECT employee_id, employee_name, hiredate FROM employees WHERE hiredate >= '30-APR-10';

EMPLOYEE_ID EMPLOYEE_NAME   HIREDATE
----------- --------------- ---------
       1013 ????	    01-APR-11
       1017 ????	    01-APR-12
       1018 ??? 	    01-APR-12
       1019 ????	    01-APR-12
       1020 ????	    01-APR-12
       1021 ??? 	    01-APR-12
       1022 ??? 	    01-APR-12

7 rows selected.
qtaro3 さんの実行環境ではどうでしたか?

投稿ツリー

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.