# 第121章 SQL函数 RPAD 字符串函数,它返回一个右填充到指定长度的字符串。 # 大纲 ```java RPAD(string-expression,length[,padstring]) ``` # 参数 - `string-expression` - 字符串表达式,可以是列名、字符串文字、主机变量或另一个标量函数的结果。可以是可转换为 VARCHAR 数据类型的任何数据类型。字符串表达式不能是流。 - `length` - 整数,指定返回的字符串中的字符数。 - `padstring` - 可选 — 由一个字符或一串字符组成的字符串,用于填充输入字符串表达式。 `padstring` 字符或字符附加到 `string-expression` 的右侧,以提供创建长度字符的输出字符串所需的尽可能多的字符。 `padstring` 可以是字符串文字、列、主机变量或另一个标量函数的结果。如果省略,则默认为空格字符。 # 描述 `RPAD` 用尾随填充字符填充字符串表达式。它返回填充到长度字符数的字符串的副本。如果字符串表达式的长度超过 `length` 个字符,则返回字符串被截断为 `length` 个字符。 如果 `string-expression` 为 `NULL`,则 `RPAD` 返回 `NULL`。如果 `string-expression` 为空字符串 (`''`) ,则 `RPAD` 返回一个完全由填充字符组成的字符串。返回的字符串是 `VARCHAR` 类型。 `RPAD` 可用于针对链接表的查询。 `RPAD` 不会删除前导或尾随空格;它填充字符串,包括任何前导或尾随空格。要在填充字符串之前删除前导或尾随空格,请使用 `LTRIM`、`RTRIM` 或 `TRIM`。 # 示例 以下示例用 `^` 字符(在需要时)右填充列值以返回长度为 `16` 的字符串。请注意,某些名称字符串被右填充,某些名称字符串被右截断以返回长度为 `16` 的字符串。 ```sql SELECT TOP 15 Name,RPAD(Name,16,'^') AS Name16 FROM Sample.Person ``` 以下示例使用 `^=^` 填充字符串(在需要时)填充列值以返回长度为 `20` 的字符串。请注意,填充名称字符串根据需要重复多次,并且一些返回字符串包含部分填充字符串: ```sql SELECT TOP 15 Name,RPAD(Name,20,'^=^') AS Name20 FROM Sample.Person ```