レス
元トピ
次レスタイトル
Re: 問題ID: 8043
フォーラム
最強WEB問題集Oracle Master 11g Bronze SQL基礎
投稿ユーザ(投稿日)
(2016/9/26)本文
設問には以下の条件設定があります。
-----引用(始)-----
ただし、
データベースの実行環境は日本語環境とし、日付書式は"RR-MM-DD"とします。
-----引用(終)-----
また、解説でも日付書式について以下のように言及されています。
-----引用(始)-----
設問では、
日本語環境で日付書式が"RR-MM-DD"であるのに対し、"DD-MON-RR"の形式で日付リテラルが指定されていますので、暗黙的なデータ変換が行われません。
-----引用(終)-----
私の環境作成がおかしい可能性は否定できませんが、設問にある通り日本語環境で実行すると以下のように解説にあるとおりのエラーになります。
[code]
# 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: 数値を指定する箇所に数値以外の文字が指定されています
[/code]
念のためNLS_LANGを変更して英語環境でsqlplusを起動して実行すると、エラーにならず結果が出力されますね。
[code]
# 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.
[/code]
qtaro3 さんの実行環境ではどうでしたか?
レス一覧
元トピ
次レス
Copyright (c) 2010
Ping-t All rights reserved.