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