PostgreSQL Like17 Mar 2025 | 6 分钟阅读 在本节中,我们将了解 PostgreSQL Like 条件 的工作原理,它用于使用模式匹配获取数据,以及 使用百分号 (%)、下划线 (_) 通配符的 Like 条件示例、Not Like 运算符的工作原理、ILIKE 运算符的工作原理 以及 PostgreSQL Like 运算符的扩展。 PostgreSQL Like 条件简介PostgreSQL Like 条件用于从满足 LIKE 条件的表中获取数据。结果包含区分大小写且遵循指定模式的字符串。 换句话说,我们也可以说 Like 条件 用于执行模式匹配以识别确切的结果。 为了实现模式匹配的目的,PostgreSQL 提供了两个不同的通配符,如下所示:
PostgreSQL Like 条件语法在 PostgreSQL 中,Like 条件可以与 SELECT、INSERT、UPDATE 和 DELETE 命令以及 WHERE 子句一起使用。 在上述语法中,使用 Like 条件,如果 值匹配 模式,则表达式将返回 true。 或 我们可以使用 NOT 运算符 语法来否定 LIKE 运算符,如下所示: 在上述语法中,当 值不匹配 模式 时,使用 Not Like 条件 并返回 true。 在上述语法中,我们使用了以下参数:
注意
使用百分号 (%) 通配符的 PostgreSQL Like 条件示例让我们看一个示例来了解 PostgreSQL Like 条件 的工作原理 假设我们要识别一名员工,但我们不准确地记得他/她的名字。但我们知道他/她的名字以 kat 类似地开头。 现在问题来了,我们如何从数据库中识别特定员工? 因此,我们可以通过查看 Employee 表中的 emp_fname 列来识别 Employee 表中的 员工,以检查是否存在以 kat 开头的值。 如果 Employee 表有许多行,并且我们遵循上述过程,这可能需要更多时间。 因此,在下面的示例中,我们使用 PostgreSQL Like 条件 将员工的姓氏与字符串匹配,如以下命令所示: 输出 执行上述命令后,我们将获得以下结果 ![]() 上述语句返回 emp_fname 列中以 Kat 开头并可能后跟任意字符序列的行,这被称为 模式匹配技术。 注1
PostgreSQL Like 运算符示例:模式匹配让我们看一些使用 LIKE 运算符进行模式匹配的示例:
注意:在 PostgreSQL 中,我们可以在模式的开头和结尾使用通配符。在下面的示例中,特定命令将返回那些 员工 的 emp_fname 包含 "in" 字符串的,例如 Katherine、Katrina、Karina 等。 输出 执行上述命令后,我们将获得以下输出 ![]() 使用 Like 运算符的下划线 (_) 通配符示例在这里,我们也将使用上述 Employee 表来展示下划线 (_) 通配符与 Like 运算符结合使用的效果。 在下面的示例中,我们将从 employee 表中选择 emp_fname、emp_lname 和 location,并在 emp_lname 中使用下划线通配符,使其以任意字符开头,后跟 "mith" 输出 执行上述命令后,我们将获得以下结果 ![]() 现在,如果我们要将 下划线 (_) 和百分号 (%) 通配符 结合起来创建模式,如以下命令所示: 输出 执行上述命令后,我们将得到以下结果: ![]() 上述模式 _at% 匹配任何应该以 任意单个字符 (_) 开头的字符串,字面字符串应后跟字符串 at,字符串应以 任意数量的字符 结尾。它将返回 emp_fname 为 Katerine 和 Katrina。 注意
PostgreSQL Not Like 条件示例我们也可以在 PostgreSQL LIKE 条件中使用 NOT 运算符。以下示例显示了 Not Like 运算符的使用 来识别 员工 的 emp_fname 不以 Kat 开头的记录。 输出 执行上述语句后,我们将得到以下结果: ![]() PostgreSQL LIKE 运算符的扩展在 PostgreSQL 中,我们还有 ILIKE 运算符,其工作方式与 LIKE 运算符 类似。 换句话说,我们可以说 ILIKE 运算符以 不区分大小写 的方式比较值。 在以下示例中,我们将在 employee 表中使用 ILIKE 运算符: 输出 执行上述命令后,我们将看到以下结果: ![]() ka% 模式匹配任何以 Ka、kA、ka、KA 等开头的字符串。如果我们在 ILIKE 运算符 的位置使用 LIKE 运算符,命令将返回空结果。 PostgreSQL 还支持一些其他运算符,它们的功能与 LIKE、ILIKE、NOT LIKE 和 NOT ILIKE 运算符类似,如下表所示:
概述在 PostgreSQL Like 条件部分,我们学习了以下主题:
下一个主题PostgreSQL IN 条件 |
我们请求您订阅我们的新闻通讯以获取最新更新。