MySQLでは、RPAD()
関数を使用すると、文字列の右側の部分を1つ以上の文字で埋めることができます。
動作方法は、パディングする文字列、パディングの長さ、およびパディングに使用する文字列を指定することです。
構文
構文は次のようになります:
RPAD(str,len,padstr)
str
埋める文字列、len
は、すべてのパディングが適用された後の文字列の望ましい長さであり、padstr
埋める文字列です。
例1-基本的な使用法
文字列の右側に感嘆符を付ける例を次に示します。
SELECT RPAD('Cat', 6, '!') AS Result;
結果:
+--------+ | Result | +--------+ | Cat!!! | +--------+
この例では、2番目の引数は6
です。 、つまり、すべてのパディングが適用された後、文字列全体の長さは6文字になる必要があります。 3番目の引数は、パディングに使用する文字を指定します。
したがって、この場合、感嘆符が1つだけ必要な場合は、次のように実行できます。
SELECT RPAD('Cat', 4, '!') AS Result;
結果:
+--------+ | Result | +--------+ | Cat! | +--------+
例2–複数の文字
キャラクターは1人だけではありません。文字列には任意の数の文字を埋め込むことができます。
たとえば、前の例を使用して、感嘆符の前にスペースを追加できます。
SELECT RPAD('Cat', 5, ' !') AS Result;
結果:
+--------+ | Result | +--------+ | Cat ! | +--------+
文字数も5
に増やしたことに注意してください 余分なキャラクターに対応するため。
さまざまな文字を使用した別の例を次に示します。
SELECT RPAD('Dog', 7, 'gone') AS Result;
結果:
+---------+ | Result | +---------+ | Doggone | +---------+
例3–2番目の引数が小さすぎる
2番目の引数の値が小さすぎると、パディングがなくなる可能性があります:
SELECT RPAD('Cat', 3, '!') AS Result;
結果:
+--------+ | Result | +--------+ | Cat | +--------+
また、パディングストリングが短くカットされたり、元のストリングが短くカットされたりする場合もあります。
SELECT RPAD('Dog', 6, 'gone'), RPAD('Dog', 2, 'gone');
結果:
+------------------------+------------------------+ | RPAD('Dog', 6, 'gone') | RPAD('Dog', 2, 'gone') | +------------------------+------------------------+ | Doggon | Do | +------------------------+------------------------+
これらの例はデモンストレーションのみを目的としていることに注意してください。ほとんどの場合、RPAD()
は使用しません 2つの単語を単純に結合します。そのためには、CONCAT()
を使用することをお勧めします 代わりに。
例4–データベースの例
データベースからデータを選択し、その右側にデータをパディングする例を次に示します。
SELECT ArtistName, RPAD(ArtistName, 20, '.') FROM Artists;
結果:
+------------------------+---------------------------+ | ArtistName | RPAD(ArtistName, 20, '.') | +------------------------+---------------------------+ | Iron Maiden | Iron Maiden......... | | AC/DC | AC/DC............... | | Allan Holdsworth | Allan Holdsworth.... | | Buddy Rich | Buddy Rich.......... | | Devin Townsend | Devin Townsend...... | | Jim Reeves | Jim Reeves.......... | | Tom Jones | Tom Jones........... | | Maroon 5 | Maroon 5............ | | The Script | The Script.......... | | Lit | Lit................. | | Black Sabbath | Black Sabbath....... | | Michael Learns to Rock | Michael Learns to Ro | | Carabao | Carabao............. | | Karnivool | Karnivool........... | | Birds of Tokyo | Birds of Tokyo...... | | Bodyjar | Bodyjar............. | +------------------------+---------------------------+