sql查询中的模式匹配

SQL模式匹配允许您在不知道要查找的确切单词或短语的情况下搜索数据中的模式。这种SQL查询使用通配符来匹配模式,而不是精确地指定模式。例如,可以使用通配符“C%”匹配以大写字母C开头的任何字符串。...

SQL模式匹配允许您在不知道要查找的确切单词或短语的情况下搜索数据中的模式。这种SQL查询使用通配符来匹配模式,而不是精确地指定模式。例如,可以使用通配符“C%”匹配以大写字母C开头的任何字符串。

使用like运算符

要在SQL查询中使用通配符表达式,请在WHERE子句中使用LIKE运算符,并将模式括在单引号内。

使用%通配符执行简单搜索

要在数据库中搜索姓氏以字母C开头的任何员工,请使用以下Transact-SQL语句:

SELECT * FROM employees WHERE last_name LIKE 'C%'

使用not关键字省略模式

使用NOT关键字选择与模式不匹配的记录。例如,此查询返回名称最后不以C开头的所有记录:

SELECT * FROM employees WHERE last_name NOT LIKE 'C%'

使用%通配符在任意位置匹配模式两次

使用%通配符的两个实例来匹配任意位置的特定模式。此示例返回姓氏中包含C的所有记录:

SELECT * FROM employees WHERE last_name LIKE '%C%'

在特定位置查找模式匹配

使用通配符返回特定位置的数据。此示例仅当C出现在姓氏列的第三个位置时匹配:

SELECT * FROM employees WHERE last_name LIKE '_ _C%'

transact-sql中支持的通配符表达式

Transact-SQL支持多个通配符表达式:

  • %通配符匹配任何类型的零个或多个字符,可用于在模式前后定义通配符。如果您熟悉DOS模式匹配,则在该语法中它与*通配符等效。
  • _uu通配符正好匹配任何类型的一个字符。这相当于?DOS模式匹配中的通配符。
  • 通过将字符括在方括号中来指定字符列表。例如,通配符[aeiou]匹配任何元音。
  • 通过将字符范围括在方括号中来指定字符范围。例如,通配符[a-m]匹配字母表前半部分中的任何字母。
  • 通过将克拉字符直接包含在开口方括号内来否定一系列字符。例如,[^aeiou]匹配任何非元音字符,[^a-m]匹配任何不在字母表前半部分的字符。

为复杂模式组合通配符

以复杂模式组合这些通配符以执行更高级的查询。例如,假设您需要构建一个所有员工的列表,这些员工的姓名以字母表前半部分的字母开头,但不以元音结尾。您可以使用以下查询:

SELECT * FROM employees WHERE last_name LIKE '[a-m]%[^aeiou]'

类似地,您可以通过使用u模式的四个实例,构建一个姓氏恰好由四个字符组成的所有员工的列表:

SELECT * FROM employees WHERE last_name LIKE '____'

可以看出,SQL模式匹配功能的使用为数据库用户提供了超越简单文本查询和执行高级搜索操作的能力。

  • 发表于 2021-09-08 04:53
  • 阅读 ( 107 )
  • 分类:数学

你可能感兴趣的文章

所有程序员都应该知道的13条最重要的sql命令

...大的或动态的网站都以某种方式使用数据库,当与结构化查询语言(SQL)结合使用时,操纵数据的可能性真的是无穷无尽。如果您已经知道SQL,请确保您检查了所有网站开发人员都应该知道的编程技能。 ...

  • 发布于 2021-03-14 06:57
  • 阅读 ( 233 )

如何使用sql连接一次查询多个数据库表

...好处之一是,它的关系结构允许您轻松地跨多个表存储和查询信息。 ...

  • 发布于 2021-03-27 04:02
  • 阅读 ( 308 )

sql与nosql:下一个项目的最佳数据库是什么?

...仅有助于始终确保结构完整性,而且允许在对多个表执行查询时获得最佳性能和速度。 ...

  • 发布于 2021-03-28 05:16
  • 阅读 ( 232 )

sql语句(sql)和hql公司(hql)的区别

SQL与HQL 结构化查询语言(structuredquerylanguage,也称SQL)是一种数据库语言,它使用关系数据库管理的概念来管理数据。数据的管理包括select(从单个或多个表中检索数据)、insert(在表中添加一行或多行)、update(负责更改表...

  • 发布于 2021-06-23 19:43
  • 阅读 ( 317 )

实例(instance)和sql server中的数据库(database in sql server)的区别

...据库系统。它由GUI和命令行组成。程序员可以使用SQL编写查询并在sqlserver上执行它们。SQL Server提供了多种优势。它允许创建和管理数据库,并提供分析服务和报表服务等服务。实例和数据库是与SQLServer相关的两个术语。 覆盖的...

  • 发布于 2021-07-01 06:19
  • 阅读 ( 998 )

林克(linq)和sql语句(sql)的区别

...INQ是Microsoft.NET framework组件,它为.NET语言添加了本机数据查询功能,而SQL是在RDBMS中存储和管理数据的标准语言。 通常,LINQ提供C#或VB.NET等语言的语法,以对各种数据源和格式的可用数据执行操作。它还减少了常用编程语言和数...

  • 发布于 2021-07-01 22:56
  • 阅读 ( 474 )

左连接(left join)和右连接(right join)的区别

...据库管理系统称为关系数据库管理系统(RDBMS)。结构化查询语言(SQL)是一种允许程序员编写查询并执行查询以对存储在数据库中的数据执行操作的语言。此外,一个数据库中有多个表,有时需要合并两个表。连接是这个问题...

  • 发布于 2021-07-02 01:13
  • 阅读 ( 309 )

有(having)和where子句(where clause)的区别

...应用于结果集中的行。满足Having子句中条件的组将出现在查询输出中。 Having和Where都是可以在SQL中使用的子句。SQL是一种专用的编程语言,用于管理关系数据库管理系统(RDBMS)中的数据。它具有以下功能: 数据**, 更新和删...

  • 发布于 2021-07-12 05:30
  • 阅读 ( 223 )

ddl公司(ddl)和表格形式的dml(dml in tabular form)的区别

...系列主要用于引用数据库的语法元素。两者都使用结构化查询语言(SQL)的语句和命令,用于检索和操作关系数据库中的数据。 DDL代表数据定义语言,主要用于定义数据库中的模式。它还定义了数据库中条目之间的关系。DDL还...

  • 发布于 2021-07-12 13:15
  • 阅读 ( 238 )

nosql公司(nosql)和sql数据库(sql database)的区别

... 二是sql数据库利用sql,即结构化查询语言作为标准化编程语言来管理关系数据库以及对其中的数据执行各种操作。然而,nosql数据库通常不使用表格式关系进行存储(the two is the fact that sql databases utilize sql,...

  • 发布于 2021-07-12 19:39
  • 阅读 ( 287 )
一只居宝贝foodie
一只居宝贝foodie

0 篇文章

相关推荐