📜  PostgreSQL - 子串函数(1)

📅  最后修改于: 2023-12-03 14:45:34.602000             🧑  作者: Mango

PostgreSQL - 子串函数

在 PostgreSQL 中,子串函数允许我们从字符串中抽取部分内容或者删除不需要的内容。这些函数包括:

  • substring
  • substr
  • left
  • right
  • trim

下面将一一介绍这些函数。

substring

该函数被用来抽取字符串中的子串。它的语法如下:

SUBSTRING(string FROM start [FOR length])

参数说明:

  • string:需要抽取子串的字符串。
  • start:开始抽取子串的位置。
  • length:可选参数,表示抽取的子串长度。

示例:

-- 抽取字符串中第一个字母及其后面的两个字符
SELECT SUBSTRING('Hello World' FROM 1 FOR 3);
-- 输出:Hel

-- 抽取从字符串第二个字符开始后面的所有字符
SELECT SUBSTRING('Hello World' FROM 2);
-- 输出:ello World
substr

该函数与 substring 类似,也是用来抽取字符串中的子串。它的语法如下:

SUBSTR(string, start [, length])

参数说明:

  • string:需要抽取子串的字符串。
  • start:开始抽取子串的位置。
  • length:可选参数,表示抽取的子串长度。如果未指定,则默认抽取从 start 到字符串结尾的所有字符。

示例:

-- 抽取字符串中第一个字母及其后面的两个字符
SELECT SUBSTR('Hello World', 1, 3);
-- 输出:Hel

-- 抽取从字符串第二个字符开始后面的所有字符
SELECT SUBSTR('Hello World', 2);
-- 输出:ello World
left

该函数用于从字符串的左边开始抽取子串。它的语法如下:

LEFT(string, length)

参数说明:

  • string:需要抽取子串的字符串。
  • length:抽取的子串长度,必须为正整数。

示例:

-- 抽取字符串中前三个字符
SELECT LEFT('Hello World', 3);
-- 输出:Hel
right

该函数用于从字符串的右边开始抽取子串。它的语法如下:

RIGHT(string, length)

参数说明:

  • string:需要抽取子串的字符串。
  • length:抽取的子串长度,必须为正整数。

示例:

-- 抽取字符串中最后三个字符
SELECT RIGHT('Hello World', 3);
-- 输出:rld
trim

该函数用于删除字符串中的空格或者指定的字符。它的语法如下:

TRIM([leading | trailing | both] [characters] from string)

参数说明:

  • leading:指定只删除开头的空格或者指定字符。
  • trailing:指定只删除尾部的空格或者指定字符。
  • both:指定删除开头和结尾的空格或者指定字符。如果未指定,默认为 both
  • characters:可选参数,指定要删除的字符。
  • string:需要删除空格或者指定字符的字符串。

示例:

-- 删除字符串开头和结尾的空格
SELECT TRIM('   Hello World   ');
-- 输出:Hello World

-- 删除字符串开头的空格
SELECT TRIM(LEADING ' ' FROM '   Hello World');
-- 输出:Hello World

-- 删除字符串结尾的空格
SELECT TRIM(TRAILING ' ' FROM 'Hello World   ');
-- 输出:Hello World

-- 删除字符串中的字符 'o' 和空格
SELECT TRIM(BOTH 'o ' FROM 'Hello World');
-- 输出:Hell Wrld

以上就是 PostgreSQL 中常见的子串函数的介绍。它们常常被用于数据清洗、数据抽取和字符串处理等场景。