Oracle試験道場

1Z0-071 · Silver SQL

単一行関数を使用した出力のカスタマイズ

★★★☆☆
Q06of 20

以下のSQL文で、どのような結果が返されますか。Silver SQL6

以下の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;

結果:

Database

LPADでも結果は同じ:

SELECT LPAD('DatabaseExamLab',8,'+') FROM dual;
-- 結果: Database

length が元の文字列より長い場合は本来の動作になります。

SELECT RPAD('ABC', 6, '*') FROM dual;
-- 結果: ABC***

SELECT LPAD('ABC', 6, '*') FROM dual;
-- 結果: ***ABC