当前位置: 首页 > news >正文

理解SQL中通配符的使用

前言

SQL 是一种标准化的结构化查询语言,涉及结构化查询时,高效地检索数据至关重要。而通配符是SQL中模式匹配的有效的方法。使用通配符可以更轻松地检索到所需的确切数据。通配符允许我们定义多功能查询条件。本文将 介绍SQL通配符的基础知识及用法。

通配符

1、百分号符号(%):用于模糊匹配字符串的部分内容,与LIKE操作符结合使用。表示零到多个字符。

示例:查找任何以字母“SO24”开头的单号

SELECT orderNo,customerId FROM orders WHERE orderNo LIKE 'SO24%'

2、下划线(_): 用于匹配中涉及模式匹配的字符串比较操作(如 LIKE 和 PATINDEX)中的任何单个字符。

示例:返回用户编号以字母 u 开头且第三个字母为 x 的数据。

SELECT userCode,userName FROM users WHERE userCode LIKE 'u_x%'

3、方括号([]):用于定义匹配一个范围或一组字符,所指定的集合中的任意单个字符。

示例:查找用法编码以U到T的任何字母开头的数据。

SELECT userCode,userName FROM users WHERE userCode LIKE '[U-T]%'

4、方括号内插入符([^]):用于匹配不在方括号 [^] 之间指定的一个范围或一组字符。

示例:排除用户编码不以U字符开头的数据。

SELECT userCode,userName FROM users WHERE userCode LIKE '[^U]%'

5、方括号内带连接号([-]):用于定义字符范围。

示例:查找用户编码以A和C之间的任何字母开头的数据。

SELECT userCode,userName FROM users WHERE userCode LIKE '[A-C]%'

示例

1、查询包含 ZTO 的承运商数据

SELECT expressCode,expressName FROM carriers WHERE expressCode LIKE '%ZTO%'

2、查询正好六个字符的客户编号

SELECT customerCode,customerName FROM customers WHERE customerCode LIKE '______'

3、查找以 SO 开头,后跟任何两个任意字符,然后是**07

SELECT orderCode,customerCode,createDate FROM orders WHERE orderCode LIKE 'SO__07%'

4、查找以YZ开头的承运商

SELECT expressCode,expressName FROM carriers WHERE expressCode LIKE '[YZ]%'

5、查找不以YZ开头的承运商

SELECT expressCode,expressName FROM carriers WHERE expressCode LIKE '[^YZ]%'

6、查找以Y开头,包含T,以O结尾的承运商

SELECT expressCode,expressName FROM carriers WHERE expressCode LIKE 'Y%T%O'

7、查找第二个字母为 U,第四个字母为 A 的名字的承运商

SELECT expressCode,expressName FROM carriers WHERE FirstName LIKE '_U_D%'

小结

了解SQL通配符,通过模式匹配提高我们获取数据的能力,当与LIKE操作符结合使用时,这些字符有助于有效的模式识别。通过使用通配符来提高查询效率。如有不到之处,请多多包涵。

http://www.lryc.cn/news/472181.html

相关文章:

  • SpringBoot篇(简化操作的原理)
  • Cesium的模型(ModelVS)顶点着色器浅析
  • 机器人领域中的scaling law:通过复现斯坦福机器人UMI——探讨数据规模化定律(含UMI的复现关键)
  • C++之多态的深度剖析
  • Microsoft Office PowerPoint制作科研论文用图
  • go语言进阶之并发基础
  • po、dto、vo的使用场景
  • 聊一聊Elasticsearch的一些基本信息
  • Unity 两篇文章熟悉所有编辑器拓展关键类 (上)
  • Spring SPI、Solon SPI 有点儿像(Maven 与 Gradle)
  • 合并排序算法(C语言版)
  • C++——输入一行文字,找出其中的大写字母、小写字母、空格数字以及其他字符各有多少。用指针或引用方法处理。
  • 【skywalking】maximum query complexity exceeded 3336 > 3000
  • 开源一个开发的聊天应用与AI开发框架,集成 ChatGPT,支持私有部署的源码
  • 开发了一个成人学位英语助考微信小程序
  • LeetCode16:最接近的三数之和
  • VisualStudio2022配置2D图形库SFML
  • 「Mac畅玩鸿蒙与硬件4」鸿蒙开发环境配置篇4 - DevEco Studio 高效使用技巧
  • 构建生产级的 RAG 系统
  • 完全透彻了解一个asp.net core MVC项目模板2
  • uniapp 如何调用音频
  • 在Facebook运营中使用住宅IP的重要性
  • EJB项目如何升级SpringCloud
  • HTTPS 协议原理
  • Vxe UI 表格行编辑(默认不显示编辑框,点击后可编辑)
  • 移远通信闪耀2024香港秋灯展,以丰富的Matter产品及方案推动智能家居产业发展
  • 爬虫利器playwright
  • 着色器的认识
  • 科技的成就(六十四)
  • 银行信贷风控专题:Python、R 语言机器学习数据挖掘应用实例合集:xgboost、决策树、随机森林、贝叶斯等...