Skip to content

PostgreSQL lpad() 函数 ​

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

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

lpad() 语法 ​

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

sql
lpad(string, length)

或

sql
lpad(string, length, characters)

参数 ​

  • str

    必需的。 需要填充的字符串。

  • length

    必需的。 需要填充到的字符串长度。

  • characters

    可选的。 用来填充的字符。默认是一个空格。

返回值 ​

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

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

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

lpad() 示例 ​

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

左侧填充空格 ​

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

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

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

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

左侧填充数字 ​

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

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

左侧填充多个字符 ​

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

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