Re: 問題ID:19563の正解の選択肢について
arashi1977
居住地: 広島
投稿数: 1715
引用:INSTR() は、第2引数の文字列が第1引数の何文字目にあるかを返すので
・1が返る:1文字目(最初の文字から)マッチしている
・2が返る:2文字目(文字列の先頭は「佐藤」で始まらない、なにか1文字先頭にある)
ということになるんですね。
単純に関数を実行してみればわかります。Oracleではないですが、同じ機能を持つのでsqlite3でやってます。
「SELECT employee_id, employee_name FROM employees WHERE INSTR(employee_name, '佐藤') = 1;」のこちらが正解になるのがなぜかわかりません。イコールのあとが2であれば正解のような気がするのですが、認識間違ってるでしょうか?
・1が返る:1文字目(最初の文字から)マッチしている
・2が返る:2文字目(文字列の先頭は「佐藤」で始まらない、なにか1文字先頭にある)
ということになるんですね。
単純に関数を実行してみればわかります。Oracleではないですが、同じ機能を持つのでsqlite3でやってます。
$ sqlite3
SQLite version 3.28.0 2019-04-15 14:49:49
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> select instr('テスト文字列佐藤', '佐藤');
7 ←「テスト文字列」の6文字が先にあって、7文字目から「佐藤」がマッチする
sqlite> select instr('佐藤', '佐藤');
1 ←1文字目から「佐藤」にマッチする
投稿ツリー
-
問題ID:19563の正解の選択肢について
(rm86choppa, 2020-7-6 11:29)
- Re: 問題ID:19563の正解の選択肢について (arashi1977, 2020-7-6 14:45)