以下のSQL文で、どのような結果が返されますか。
SELECT RPAD('DatabaseExamLab',8,'+') FROM dual;
以下のSQL文で、どのような結果が返されますか。
SELECT RPAD('DatabaseExamLab',8,'+') FROM dual;ADatabase✓
BeExamLab
CExamLab+
Dエラー
解説正答:A
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