rpad()

rpad()関数は、文字列の右側にパディング文字を繰り返し付加して指定した長さの文字列を返します。

構文

rpad(STR, LENGTH[, PAD])

パラメーター

STR
元の文字列フィールドまたは値です。文字列以外の値は文字列に変換して処理します。
LENGTH
結果文字列の目標の長さです。1以上10240以下の整数でなければなりません。定数として指定する場合にこの範囲を外れるとパースエラーが発生します。実行時にこの範囲を外れるとnullを返します。
PAD
(省略可)右側に埋めるパディング文字列です。省略すると空白()を使用します。空文字列("")を指定すると空白として処理します。

説明

rpad()関数は、STR文字列の右側にPAD文字列を繰り返し付加して全体の長さがLENGTHになるように作成した文字列を返します。

  • STRnullの場合はnullを返します。
  • STRの長さがLENGTHより大きい場合はSTRLENGTH文字分だけ切り取って返します。
  • LENGTHnullまたは整数でない場合はnullを返します。
  • PADnullの場合はnullを返します。
  • PADが複数文字の場合はLENGTHに合わせて繰り返した後、正確にLENGTH文字になるよう切り取って返します。

エラーコード

エラーコード説明
90890LENGTHに1未満または10240を超える定数を指定した場合

使用例

これらの使用例で参照するWEB_APACHE_SAMPLEテーブルを準備するには、クエリ実習用データを参照してください。

  1. HTTPメソッドを空白で右側にパディングして10文字に揃える

    table limit=5 WEB_APACHE_SAMPLE | eval result = rpad(method, 10) | fields method, result
    | # result: "GET       "、"POST      " など
    
  2. 特定の文字でパディング

    table limit=5 WEB_APACHE_SAMPLE | eval result = rpad(method, 8, "-") | fields method, result
    | # result: "GET-----"、"POST----" など
    
  3. 複数文字のパディング文字列を使用

    json "{'val': 'hello'}" | eval result = rpad(val, 10, "pad")
    | # result: "hellopadpa"
    
  4. 元の文字列が目標の長さより長い場合

    json "{'val': 'hello'}" | eval result = rpad(val, 3, "x")
    | # result: "hel"
    
  5. NULL入力

    json "{'val': null}" | eval result = rpad(val, 8, "*")
    | # result: null
    

互換性

rpad()関数は、Sonar 4.0以前のバージョンから提供されています。