1Z0-071 · Silver SQL
単一行関数を使用した出力のカスタマイズ
★★★☆☆
Q06of 20
以下のSQL文で、どのような結果が返されますか。 — Silver SQL 問6
以下のSQL文で、どのような結果が返されますか。
SELECT RPAD('DatabaseExamLab',8,'+') FROM dual;Choices選択肢
- ADatabase正解
- BeExamLab
- CExamLab+
- Dエラー
Answer
正解は、Aです
Explanation解説
RPAD(string, length [,padding]) は、文字列の文字数が length に満たない場合に、右側に padding を埋め込むファンクションです。
ただし重要な挙動として: 元の文字列が length より長い場合は、左側から length 文字分だけ切り取られます(パディングは行われない)。
今回の例では 'DatabaseExamLab' は15文字、length は8なので、左から8文字 Database を返します。
SELECT RPAD('DatabaseExamLab',8,'+') FROM dual;結果:
DatabaseLPADでも結果は同じ:
SELECT LPAD('DatabaseExamLab',8,'+') FROM dual;
-- 結果: Databaselength が元の文字列より長い場合は本来の動作になります。
SELECT RPAD('ABC', 6, '*') FROM dual;
-- 結果: ABC***
SELECT LPAD('ABC', 6, '*') FROM dual;
-- 結果: ***ABC