- ベストアンサー
INSTR
こんにちわ。 なぜかオラクルシルバーという資格を取らなければいけないことになりました。 私パソコンなんて全然わからないのに・・。 今、翔泳社から出ている「オラクルマスター教科書 Silver」という本で勉強中ですが、わからない事がありますので教えていただけたら嬉しいです! 文字列関数のINSTRについてなんですが、教科書に例として INSTR('SYSTEMTECHNOLOGY-I','E',8,1) ----------------------------------- 9 と載っています。 INSTRの定義は、INSTR(char1,char2,n,m)で、 char1のn番目の文字からchar2の探索を開始し、char2がm番目に現れる位置を戻す、とあります。 なので、この例題の場合は、 'SYSTEMTECHNOLOGY-I'の8版目の文字列→E から E の探索を開始し、 E が 1 番目に現れる位置を戻すのですから、 答えは0だと思うのですが・・・・・・・ 私の考え方はどこが間違っているのでしょうか。 数学は苦手なんです~~~ 宜しくお願いします!!
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちわ。 MovingWalk さんのおっしゃるように、INSTR の復帰値は 「8」で問題ありません。 手元の環境で確認してみました。 SQL> select INSTR('SYSTEMTECHNOLOGY-I','E',8,1) from dual; INSTR('SYSTEMTECHNOLOGY-I','E',8,1) ----------------------------------- 8 「SYSTEM」と「TECHNOLOGY-I」の間にスペースが入っている なんて事でなければ、ミスプリントだと思います。 市販本とかで勉強して、不明な点があればやはりマニュアルを 読む事になると思います。 ユーザ登録が必要 (無料) ですが、OTN Japan でPDF 形式の マニュアルとトライアル版のソフトウェアを公開していますので、 こちらをDownload されると良いと思います。
- 参考URL:
- http://technet.oracle.co.jp/
その他の回答 (1)
- MovingWalk
- ベストアンサー率43% (2233/5098)
>Eが1番目に現れる位置を戻すのですから、答えは0だと思うのですが・・・・・・・ ??? 8番目の位置に最初の'E'があるので、8でいいのではありませんか?
お礼
こんにちわ!さっそくの回答ありがとうございます! そうか、最初に出てきた位置っていうのは最初から数えてなんですね! それならMovingWalkさんの言うとおり、8で正解なのは頷けるのですが、 答えは9って書いてあるんですよー! なんで9なんでしょう??
補足
こんばんわ! やっぱりMovingWalkさんの答えであってるみたいです! 教科書が間違ってるなんて思わなくて混乱してしまいました。 これに懲りず、また見かけたらよろしくお願いします☆
お礼
こんばんわ!回答ありがとうございます☆ やっぱり8で正解のようですね。 この教科書大丈夫かな・・ 他にも納得できない解答が多いんです。 私、家にオラクルは無いので(というか会社にも無いのですが・・)検証ができなかったんですが、評価版がDLできるのですね。 知りませんでした。 さっそくダウンロードして勉強します! またわからない事があったら質問すると思いますが、その時はまたよろしくお願いします!!