📅  最后修改于: 2023-12-03 14:45:34.602000             🧑  作者: Mango
在 PostgreSQL 中,子串函数允许我们从字符串中抽取部分内容或者删除不需要的内容。这些函数包括:
substring
substr
left
right
trim
下面将一一介绍这些函数。
该函数被用来抽取字符串中的子串。它的语法如下:
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
该函数与 substring
类似,也是用来抽取字符串中的子串。它的语法如下:
SUBSTR(string, start [, length])
参数说明:
string
:需要抽取子串的字符串。start
:开始抽取子串的位置。length
:可选参数,表示抽取的子串长度。如果未指定,则默认抽取从 start
到字符串结尾的所有字符。示例:
-- 抽取字符串中第一个字母及其后面的两个字符
SELECT SUBSTR('Hello World', 1, 3);
-- 输出:Hel
-- 抽取从字符串第二个字符开始后面的所有字符
SELECT SUBSTR('Hello World', 2);
-- 输出:ello World
该函数用于从字符串的左边开始抽取子串。它的语法如下:
LEFT(string, length)
参数说明:
string
:需要抽取子串的字符串。length
:抽取的子串长度,必须为正整数。示例:
-- 抽取字符串中前三个字符
SELECT LEFT('Hello World', 3);
-- 输出:Hel
该函数用于从字符串的右边开始抽取子串。它的语法如下:
RIGHT(string, length)
参数说明:
string
:需要抽取子串的字符串。length
:抽取的子串长度,必须为正整数。示例:
-- 抽取字符串中最后三个字符
SELECT RIGHT('Hello World', 3);
-- 输出:rld
该函数用于删除字符串中的空格或者指定的字符。它的语法如下:
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 中常见的子串函数的介绍。它们常常被用于数据清洗、数据抽取和字符串处理等场景。