文档

RPAD

更新时间:

当您需要格式化数据表中的字符串,以保证字符串输出的一致性和对齐时,MaxCompute支持使用RPAD函数,用字符串str2将字符串str1向右补足到length位。此函数为MaxCompute 2.0扩展函数,本文为您介绍RPAD的命令格式和使用示例。

命令格式

string rpad(string <str1>, int <length>, string <str2>)

参数说明

  • str1:必填。STRING类型。待向右补位的字符串。

  • length:必填。INT类型。补位后的目标位数。

  • str2:必填。用于补位的字符串。

返回值说明

返回STRING类型。返回规则如下:

  • 如果length小于str1的位数,则返回str1从左开始截取length位的字符串。

  • 如果length为0,则返回空串。

  • 如果没有输入参数或任一输入参数值为NULL,返回报错或NULL。

  • 如果length大于str1的位数且小于str1str2的位数之和,则按照str2字符从左到右的顺序将str1字符串向右补足到length位。

使用示例

  • 示例1:用字符串12将字符串abcdefgh向右补足到10位。命令示例如下。

    --返回abcdefgh12。
    SELECT rpad('abcdefgh', 10, '12');
  • 示例2:用字符串12将字符串abcdefgh向右补足到5位。命令示例如下。

    --返回abcde。
    SELECT rpad('abcdefgh', 5, '12');
  • 示例3:length为0。命令示例如下。

    --返回空串。
    SELECT rpad('abcdefgh' ,0, '12'); 
  • 示例4:任一输入参数为NULL。命令示例如下。

    --返回NULL。
    SELECT rpad(null ,0, '12');
  • 示例5:字符串12按照从左到右的顺序,将字符串abcdefgh向右补足到9位。命令示例如下。

    --返回abcdefgh1
    SELECT rpad('abcdefgh',9,'12');

相关函数

RPAD函数属于字符串函数,更多查找字符串、转换字符串格式的相关函数请参见字符串函数