PostgreSQL lpad() 函数

PostgreSQL lpad() 函数在一个字符串的左侧填充指定的字符,使其达到指定的长度。

如果您想要右侧填充一个字符串,请使用 rpad() 函数。

lpad() 语法

这是 PostgreSQL lpad() 函数的语法:

lpad(string, length)

lpad(string, length, characters)

参数

str
必需的。 需要填充的字符串。
length
必需的。 需要填充到的字符串长度。
characters
可选的。 用来填充的字符。默认是一个空格。

返回值

PostgreSQL lpad() 函数在字符串 str 的左侧填充指定的字符 characters(默认为一个空格),使其达到长度 length

如果字符串 str 的长度已经超过 length,那么它将会在右侧被截断。

若任意一个参数为 NULL,该函数将返回 NULL

lpad() 示例

以下的这些示例说明了如果使用 lpad() 函数左侧填充字符串。

左侧填充空格

这个示例演示了使用 lpad() 函数在 hello 左侧填充空格使其长度达到 10。

SELECT lpad('hello', 10) AS "lpad('hello', 10)";
 lpad('hello', 10) 
-------------------
      hello

您也可以是使用 format() 函数做到同样的事情:

SELECT format('%10s', 'hello') AS "format('%10s', 'hello')";
 format('%10s', 'hello') 
-------------------------
      hello

左侧填充数字

有时候,为了让数字看起来整齐,我们需要在数字的左侧填充 0 使其达到一定的长度。 下面的例子展示了在数字左侧填充 0 使其长度达到 10。

SELECT 
    lpad('123456', 10, '0') AS "lpad('1234', 10, '0')",
    lpad('9876', 10, '0') AS "lpad('9876', 10, '0')";
 lpad('1234', 10, '0') | lpad('9876', 10, '0') 
-----------------------+-----------------------
 0000123456            | 0000009876

左侧填充多个字符

您还可以使用 lpad() 函数还可以填充多个字符:

SELECT lpad('Hello', 10, 'xyz') AS "lpad('Hello', 10, 'xyz')";
 lpad('Hello', 10, 'xyz') 
--------------------------
 xyzxyHello