質問編集履歴
11
title
CHANGED
File without changes
|
body
CHANGED
@@ -18,8 +18,8 @@
|
|
18
18
|
|
19
19
|
D. select lpad(substr(prodcd, instr(prodcd, '-')), length(prodcd), 'x') from product
|
20
20
|
|
21
|
-
で、正解はDなのはわかるのですが、
|
21
|
+
で、**正解はDなのはわかるのですが、
|
22
|
-
解説の一部が理解できません。
|
22
|
+
解説の一部が理解できません。**
|
23
23
|
|
24
24
|
黒本の解説
|
25
25
|
---------------------
|
10
title
CHANGED
File without changes
|
body
CHANGED
@@ -36,7 +36,7 @@
|
|
36
36
|
|
37
37
|
③rpadを使っていますが、rpadは右に埋め込むので誤りです。同様に、選択肢Bも誤りです。左に埋め込むlpadが正しいので、選択肢Cを調べます。
|
38
38
|
|
39
|
-
④「lpad(文字列, n [,文字])」は、文字列の左側に「文字」を埋め込んで長さ「n」にして戻します。選択肢Cの第2引数(戻す長さ)は、②で抜き出した文字列の長さから1を引いた値になっています。したがって、選択肢Cでは、埋め込まず逆に最後の1文字を切り捨てて戻します。このため、選択肢Cは誤りです。戻す長さは元の部品コード番号の長さなので、選択肢Dの「length(prodcd)」が正解です。
|
39
|
+
④「lpad(文字列, n [,文字])」は、文字列の左側に「文字」を埋め込んで長さ「n」にして戻します。**選択肢Cの第2引数(戻す長さ)は、②で抜き出した文字列の長さから1を引いた値になっています。**したがって、選択肢Cでは、埋め込まず逆に最後の1文字を切り捨てて戻します。このため、選択肢Cは誤りです。戻す長さは元の部品コード番号の長さなので、選択肢Dの「length(prodcd)」が正解です。
|
40
40
|
|
41
41
|
---------------------
|
42
42
|
|
9
title
CHANGED
File without changes
|
body
CHANGED
@@ -58,6 +58,6 @@
|
|
58
58
|
というのなら、理解できます。
|
59
59
|
|
60
60
|
|
61
|
-
正解はDということは納得いきますが、あくまで納得できないのは、解説の「選択肢Cの第2引数は、②で抜き出した文字列の長さから1を引いた値」の一文と、その直後の「戻す長さは元の部品コード番号の長さなので、選択肢Dの「length(prodcd)」が正解」の一文が矛盾していることです。
|
61
|
+
**正解はDということは納得いきますが、あくまで納得できないのは、解説の「選択肢Cの第2引数は、②で抜き出した文字列の長さから1を引いた値」の一文と、その直後の「戻す長さは元の部品コード番号の長さなので、選択肢Dの「length(prodcd)」が正解」の一文が矛盾していることです。**
|
62
62
|
|
63
63
|
ご意見お願いいたします。
|
8
title
CHANGED
File without changes
|
body
CHANGED
@@ -44,7 +44,7 @@
|
|
44
44
|
とあるのですが、
|
45
45
|
選択肢AとBは、rpadなので違うことは、わかります。
|
46
46
|
選択肢Cの第2引数は、
|
47
|
-
②で抜き出した文字列の長さ(-Cc01-001 だから9文字)から1(
|
47
|
+
②で抜き出した文字列の長さ(-Cc01-001 だから9文字)から1(instr(prodcd, '-')だから、-Cc01-001の1文字目)を引いた値=8 となり、xで埋める前にすでに -Cc01-001 の9文字あるため、お尻の1文字を切り捨てて戻す、というのも理解できる。
|
48
48
|
だけど、選択肢Dの第2引数も、②で抜き出した文字列の長さ(-Cc01-001 だから9文字)になるから、解説の最後の、「戻す長さは元の部品コード番号の長さなので」というのが、理解できません。
|
49
49
|
それとも、選択肢Cの第2引数の理解が間違ってるのか。。。
|
50
50
|
**選択肢Cの第2引数は、
|
@@ -58,6 +58,6 @@
|
|
58
58
|
というのなら、理解できます。
|
59
59
|
|
60
60
|
|
61
|
-
正解はDということは納得いきますが、あくまで
|
61
|
+
正解はDということは納得いきますが、あくまで納得できないのは、解説の「選択肢Cの第2引数は、②で抜き出した文字列の長さから1を引いた値」の一文と、その直後の「戻す長さは元の部品コード番号の長さなので、選択肢Dの「length(prodcd)」が正解」の一文が矛盾していることです。
|
62
62
|
|
63
63
|
ご意見お願いいたします。
|
7
title
CHANGED
File without changes
|
body
CHANGED
@@ -47,9 +47,9 @@
|
|
47
47
|
②で抜き出した文字列の長さ(-Cc01-001 だから9文字)から1(instra(prodcd, '-')だから、-Cc01-001の1文字目)を引いた値=8 となり、xで埋める前にすでに -Cc01-001 の9文字あるため、お尻の1文字を切り捨てて戻す、というのも理解できる。
|
48
48
|
だけど、選択肢Dの第2引数も、②で抜き出した文字列の長さ(-Cc01-001 だから9文字)になるから、解説の最後の、「戻す長さは元の部品コード番号の長さなので」というのが、理解できません。
|
49
49
|
それとも、選択肢Cの第2引数の理解が間違ってるのか。。。
|
50
|
-
選択肢Cの第2引数は、
|
50
|
+
**選択肢Cの第2引数は、
|
51
51
|
②で抜き出した文字列の長さから1を引いた値
|
52
|
-
というのが誤植な気がします。
|
52
|
+
というのが誤植な気がします。**
|
53
53
|
選択肢Cの第2引数は、
|
54
54
|
length(prodcd) - instr(prodcd, '-')
|
55
55
|
で、prodcdは、A1-Cc01-001だから、
|
6
title
CHANGED
File without changes
|
body
CHANGED
@@ -37,6 +37,7 @@
|
|
37
37
|
③rpadを使っていますが、rpadは右に埋め込むので誤りです。同様に、選択肢Bも誤りです。左に埋め込むlpadが正しいので、選択肢Cを調べます。
|
38
38
|
|
39
39
|
④「lpad(文字列, n [,文字])」は、文字列の左側に「文字」を埋め込んで長さ「n」にして戻します。選択肢Cの第2引数(戻す長さ)は、②で抜き出した文字列の長さから1を引いた値になっています。したがって、選択肢Cでは、埋め込まず逆に最後の1文字を切り捨てて戻します。このため、選択肢Cは誤りです。戻す長さは元の部品コード番号の長さなので、選択肢Dの「length(prodcd)」が正解です。
|
40
|
+
|
40
41
|
---------------------
|
41
42
|
|
42
43
|
|
5
title
CHANGED
File without changes
|
body
CHANGED
@@ -21,7 +21,8 @@
|
|
21
21
|
で、正解はDなのはわかるのですが、
|
22
22
|
解説の一部が理解できません。
|
23
23
|
|
24
|
-
解説
|
24
|
+
黒本の解説
|
25
|
+
---------------------
|
25
26
|
文字関数(特にINSTR、LPAD、SUBSTR)に関する問題です。
|
26
27
|
まず、選択肢Aを調べます。ネストの内側から外側に関数を評価していきます。
|
27
28
|
|
@@ -36,6 +37,7 @@
|
|
36
37
|
③rpadを使っていますが、rpadは右に埋め込むので誤りです。同様に、選択肢Bも誤りです。左に埋め込むlpadが正しいので、選択肢Cを調べます。
|
37
38
|
|
38
39
|
④「lpad(文字列, n [,文字])」は、文字列の左側に「文字」を埋め込んで長さ「n」にして戻します。選択肢Cの第2引数(戻す長さ)は、②で抜き出した文字列の長さから1を引いた値になっています。したがって、選択肢Cでは、埋め込まず逆に最後の1文字を切り捨てて戻します。このため、選択肢Cは誤りです。戻す長さは元の部品コード番号の長さなので、選択肢Dの「length(prodcd)」が正解です。
|
40
|
+
---------------------
|
39
41
|
|
40
42
|
|
41
43
|
とあるのですが、
|
4
title
CHANGED
File without changes
|
body
CHANGED
@@ -39,7 +39,7 @@
|
|
39
39
|
|
40
40
|
|
41
41
|
とあるのですが、
|
42
|
-
AとBは、rpadなので違うことは、わかります。
|
42
|
+
選択肢AとBは、rpadなので違うことは、わかります。
|
43
43
|
選択肢Cの第2引数は、
|
44
44
|
②で抜き出した文字列の長さ(-Cc01-001 だから9文字)から1(instra(prodcd, '-')だから、-Cc01-001の1文字目)を引いた値=8 となり、xで埋める前にすでに -Cc01-001 の9文字あるため、お尻の1文字を切り捨てて戻す、というのも理解できる。
|
45
45
|
だけど、選択肢Dの第2引数も、②で抜き出した文字列の長さ(-Cc01-001 だから9文字)になるから、解説の最後の、「戻す長さは元の部品コード番号の長さなので」というのが、理解できません。
|
3
title
CHANGED
File without changes
|
body
CHANGED
@@ -55,4 +55,6 @@
|
|
55
55
|
というのなら、理解できます。
|
56
56
|
|
57
57
|
|
58
|
+
正解はDということは納得いきますが、あくまで疑問なのは、解説の「選択肢Cの第2引数は、②で抜き出した文字列の長さから1を引いた値」の一文です。
|
59
|
+
|
58
60
|
ご意見お願いいたします。
|
2
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,4 +12,47 @@
|
|
12
12
|
|
13
13
|
A. select rpad(substr(prodcm, instr(prodcd, '-')), length(prodcd) - instr(prodcd, '-'), 'x') from product
|
14
14
|
|
15
|
-
B. select
|
15
|
+
B. select rpad(substr(prodcd, instr(prodcm, '-')), length(prodcd), 'x') from product
|
16
|
+
|
17
|
+
C. select lpad(substr(prodcd, instr(prodcd, '-')), length(prodcd) - instr(prodcd, '-'), 'x') from product
|
18
|
+
|
19
|
+
D. select lpad(substr(prodcd, instr(prodcd, '-')), length(prodcd), 'x') from product
|
20
|
+
|
21
|
+
で、正解はDなのはわかるのですが、
|
22
|
+
解説の一部が理解できません。
|
23
|
+
|
24
|
+
解説は、
|
25
|
+
文字関数(特にINSTR、LPAD、SUBSTR)に関する問題です。
|
26
|
+
まず、選択肢Aを調べます。ネストの内側から外側に関数を評価していきます。
|
27
|
+
|
28
|
+
①instr(prodcd, '-')
|
29
|
+
部品コード番号の最初のハイフン「-」の位置を調べています。
|
30
|
+
〈例: A1-Cc01-001〉instr(prodcd, '-')→3
|
31
|
+
|
32
|
+
②substr(prodcd, instr(prodcd, '-'))
|
33
|
+
部品コード番号の3文字目(最初のハイフン)以降の文字列を抜き出します。
|
34
|
+
〈例: A1-Cc01-001〉substr(prodcd, instr(prodcd, '-')) → -Cc01-001
|
35
|
+
|
36
|
+
③rpadを使っていますが、rpadは右に埋め込むので誤りです。同様に、選択肢Bも誤りです。左に埋め込むlpadが正しいので、選択肢Cを調べます。
|
37
|
+
|
38
|
+
④「lpad(文字列, n [,文字])」は、文字列の左側に「文字」を埋め込んで長さ「n」にして戻します。選択肢Cの第2引数(戻す長さ)は、②で抜き出した文字列の長さから1を引いた値になっています。したがって、選択肢Cでは、埋め込まず逆に最後の1文字を切り捨てて戻します。このため、選択肢Cは誤りです。戻す長さは元の部品コード番号の長さなので、選択肢Dの「length(prodcd)」が正解です。
|
39
|
+
|
40
|
+
|
41
|
+
とあるのですが、
|
42
|
+
AとBは、rpadなので違うことは、わかります。
|
43
|
+
選択肢Cの第2引数は、
|
44
|
+
②で抜き出した文字列の長さ(-Cc01-001 だから9文字)から1(instra(prodcd, '-')だから、-Cc01-001の1文字目)を引いた値=8 となり、xで埋める前にすでに -Cc01-001 の9文字あるため、お尻の1文字を切り捨てて戻す、というのも理解できる。
|
45
|
+
だけど、選択肢Dの第2引数も、②で抜き出した文字列の長さ(-Cc01-001 だから9文字)になるから、解説の最後の、「戻す長さは元の部品コード番号の長さなので」というのが、理解できません。
|
46
|
+
それとも、選択肢Cの第2引数の理解が間違ってるのか。。。
|
47
|
+
選択肢Cの第2引数は、
|
48
|
+
②で抜き出した文字列の長さから1を引いた値
|
49
|
+
というのが誤植な気がします。
|
50
|
+
選択肢Cの第2引数は、
|
51
|
+
length(prodcd) - instr(prodcd, '-')
|
52
|
+
で、prodcdは、A1-Cc01-001だから、
|
53
|
+
length(prodcd) - instr(prodcd, '-')=
|
54
|
+
11-3=8
|
55
|
+
というのなら、理解できます。
|
56
|
+
|
57
|
+
|
58
|
+
ご意見お願いいたします。
|
1
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,25 +1,15 @@
|
|
1
|
-
|
1
|
+
PRODUCT表のPRODCD列の部品コード番号は、以下の形式で格納されている。
|
2
2
|
|
3
|
+
PRODCD
|
3
|
-
|
4
|
+
--------------
|
4
|
-
|
5
|
+
A1-Cc01-001
|
5
|
-
|
6
|
+
A1-DE01-100
|
7
|
+
…以下省略…
|
6
8
|
|
7
|
-
|
9
|
+
以下の形式で、部品コード番号の先頭番号を隠したレポートを作成するSQL文として正しいものを選びなさい。
|
8
10
|
|
9
|
-
```
|
10
|
-
|
11
|
+
xx-Cc01-001
|
11
|
-
```
|
12
12
|
|
13
|
-
|
13
|
+
A. select rpad(substr(prodcm, instr(prodcd, '-')), length(prodcd) - instr(prodcd, '-'), 'x') from product
|
14
14
|
|
15
|
-
```ここに言語名を入力
|
16
|
-
ソースコード
|
17
|
-
```
|
18
|
-
|
19
|
-
|
15
|
+
B. select
|
20
|
-
|
21
|
-
ここに問題に対して試したことを記載してください。
|
22
|
-
|
23
|
-
### 補足情報(FW/ツールのバージョンなど)
|
24
|
-
|
25
|
-
ここにより詳細な情報を記載してください。
|