LPAD 関数および RPAD 関数
これらの関数は、指定された長さに基づいて、文字列の前または後に文字を付加します。
構文
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 | +----------------------+