- 类别:
:doc:`/sql-reference/functions-string`(通用)
RPAD¶
用另一个字符串中的字符向右填充字符串,或者用另一个二进制值中的字节向右填充二进制值。
使用 pad
实参中的字符/字节将实参 (base
) 填充为长度 length_expr
。
语法¶
RPAD(<base>, <length_expr> [, <pad>])
实参¶
base
这必须是
VARCHAR
或BINARY
值。length_expr
长度应该是一个计算结果为整数的表达式。它应该指定:
如果输入为
VARCHAR
,返回的 UTF-8 字符数。如果输入为
BINARY
,返回的字节数。
pad
这必须是
VARCHAR
或BINARY
值。类型必须与base
参数的数据类型匹配。此参数中的字符(或字节)用于填充base
。
返回¶
返回值的数据类型与输入值 base`(``BINARY`
或 VARCHAR
)的数据类型相同。
使用说明¶
如果
base
实参比length_expr
长,则被截断为length_expr
长度。pad
实参的长度可以是多个字符/字节。在结果中重复实参pad
,直到达到所需的长度length_expr
,截断pad
实参中任何多余的字符/字节。如果pad
实参为空,则不会插入填充,但结果仍会截断为length_expr
长度。当
base
为字符串时,默认pad
字符串默认值为“ ”(单个空格)。当base
为二进制值时,必须明确提供pad
实参。
排序规则详细信息¶
排序规则适用于
VARCHAR
输入。如果第一个参数的输入数据类型为BINARY
,则排序规则不适用。No impact. 尽管在语法上可以接受排序规则,但排序规则对处理没有影响。例如,某些语言的字母包含两个字符或三个字符(如匈牙利语中的“dzs”,捷克语中的“ch”),这些字母作为长度实参时仍会算作两个或三个字符(而不是一个字符)。
The collation of the result is the same as the collation of the input. 如果返回值作为嵌套函数调用的一部分传递给另一个函数,这可能很有用。
目前,Snowflake 允许
base
和pad
实参具有不同的排序规则说明符。但是,不能同时保留单个排序规则说明符,因为返回的值只有一个排序规则说明符。Snowflake 建议用户避免使用与pad
字符串具有不同排序规则的base
字符串。
示例¶
SELECT RPAD('123.50', 20, '*-') FROM dual;
--------------------------+
RPAD('123.50', 20, '*-') |
--------------------------+
123.50*-*-*-*-*-*-*- |
--------------------------+