これらの関数は、指定された長さに基づいて、文字列の前または後に文字を付加します。
構文
LPAD(string1, length, [ string2 ])
RPAD(string1, length, [ string2 ])
引数
- string1
-
CHAR
文字列、VARCHAR
文字列、あるいはCHAR
またはVARCHAR
型に暗黙的に評価される式。 - length
-
関数の結果の長さを定義する整数。文字列の長さはバイト数ではなく文字数に基づくため、マルチバイト文字は 1 文字としてカウントされます。指定された長さより string1 が長い場合は、(右側が) 切り捨てられます。length がゼロまたは負の数値である場合は、関数の結果が空の文字列になります。
- string2
-
(オプション) string1 の前または後に付加する 1 つ以上の文字。この引数が指定されなかった場合は、スペースが使用されます。
戻り型
VARCHAR
例
次の例では、TICKIT サンプルデータベースの EVENT テーブルからのデータを使用します。詳細については、「サンプルデータベース」を参照してください。
指定された一連のイベント名を切り捨てて 20 文字にして、20 文字に満たない名前の前にはスペースを付加するには、次の例を使用します。
SELECT LPAD(eventname, 20) FROM event
WHERE eventid BETWEEN 1 AND 5 ORDER BY 1;
+---------------------+
| lpad |
+---------------------+
| Salome |
| Il Trovatore |
| Boris Godunov |
| Gotterdammerung |
|La Cenerentola (Cind |
+-----------------------+
上記と同じ一連のイベント名を切り捨てて 20 文字にするが、20 文字に満たない名前の後には 0123456789
を付加するには、次の例を使用します。
SELECT RPAD(eventname, 20,'0123456789') FROM event
WHERE eventid BETWEEN 1 AND 5 ORDER BY 1;
+----------------------+
| rpad |
+----------------------+
| Boris Godunov0123456 |
| Gotterdammerung01234 |
| Il Trovatore01234567 |
| La Cenerentola (Cind |
| Salome01234567890123 |
+----------------------+