PostgreSQL SUBSTRING() 函数与正则表达式示例

什么是 PostgreSQL 子串?
此 PostgreSQL 子字符串函数可以帮助你……tract 并返回字符串的一部分。它不返回整个字符串,而只返回其中的一部分,这对于修剪代码和读取固定宽度字段非常有用。
句法
此 PostgreSQL substring 函数采用以下语法:
substring( string [from starting_position] [for length] )
参数
substring 函数使用以下参数:
| 绳子 | 源字符串,其数据类型为varchar、char、string等。 |
| 起始位置 | 一个可选参数。它表示 ex 的位置。trac字符串的开头部分将开始。如果省略此参数,则示例将开始。traction 从位置 1 开始,也就是字符串中的第一个字符。 |
| 长度 | 一个可选参数。它表示要省略的字符数。trac从字符串中提取 ted。如果省略此参数,函数 extrac从起始位置到字符串末尾的 ts。 |
例子
在这个例子中,我们想要……tract 单词的前 4 个字符 Guru99年:
SELECT substring('Guru99' for 4);
该命令将返回以下内容:
我们没有指定起始位置,所以……trac子字符串从位置 1 开始。提取了四个字符。tracted 返回上述结果。
以下示例显示如何指定起始位置:
SELECT substring('Guru99' from 1 for 4);
该命令将返回以下内容:
我们明确指出,前任trac子字符串的起始位置应从第 1 个字符开始,并且应包含 4 个字符。trac特德。
让我们举例trac字符串中的 t 99 Guru99年:
SELECT substring('Guru99' from 5);
该命令将返回以下内容:
我们将起始位置指定为 5。由于要显示的字符数为 5,因此trac特德没有具体说明,前任traction 一直延伸到字符串的末尾。
这是另一个示例:
SELECT substring('Guru99' from 5 for 2);
该命令将返回以下内容:
我们开始了前trac位置 5 处有 tion,并且有 2 个字符是 extrac特德。
考虑下面给出的 Book 表:
我们想大致了解每本书的名称。我们可以举例说明。trac仅取表中名称列的前 15 个字符:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
该命令将返回以下内容:
现在我们对每本书的名字有一个大致的了解了。
使用 SQL 正则表达式匹配子字符串
In PostgreSQL你可以举例trac提取与指定的 POSIX 正则表达式匹配的子字符串。在这种情况下,substring 函数使用以下语法:
SUBSTRING(string FROM matching_pattern)
or
SUBSTRING(string, matching_pattern);
以下是对上述参数的解释。该字符串是源字符串,其 数据类型 可以是 varchar、char、string 等类型。matching_pattern 是用于在字符串中搜索的模式。
例子
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
该命令将返回以下内容:
我们的输入字符串是“Your age is 22”。在模式中,我们搜索数字模式;当找到该模式时,子字符串函数会执行相应的操作。trac只有两个字符。
如何使用 pgAdmin 匹配子字符串
现在让我们看看如何使用 pgAdmin 执行这些操作。不需要数据库的查询可以直接在查询编辑器窗口中执行。只需执行以下操作:
步骤1) 登录您的 pgAdmin 帐户。
步骤2) 在 pgAdmin 中,单击查询工具图标。
查询编辑器窗口将会打开。
步骤3) 在编辑器窗口中输入以下查询。
SELECT substring('Guru99' for 4);
步骤4) 单击执行图标来执行查询。
步骤5) 查询执行完毕。它应该返回以下内容:
例如2:
SELECT substring('Guru99' from 1 for 4);
它应该返回以下内容:
下一个例子如下:
SELECT substring('Guru99' from 5);
它应该返回以下内容:
例如3:
SELECT substring('Guru99' from 5 for 2);
它应该返回以下内容:
现在,让我们使用 Demo 数据库的 Book 表运行示例:
步骤1) 登录您的 pgAdmin 帐户。
步骤2) 从左侧导航栏中,单击“数据库”,然后单击“演示”。
步骤3) 在查询编辑器中输入查询:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
步骤4) 单击执行按钮。
它应该返回以下内容:
现在我们对每本书的名字有一个基本的了解。
使用 SQL 正则表达式匹配子字符串
要在 pgAdmin 上完成相同操作,请执行以下操作:
步骤1) 登录您的 pgAdmin 帐户。
步骤2) 单击查询工具图标。
查询编辑器窗口将会打开。
步骤3) 在编辑器窗口中输入以下查询。
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
步骤4) 单击执行图标来执行查询。
它应该返回以下内容:



















