SQL 通配符:用于模糊搜索和匹配的 SQL 关键技巧

news2024/12/24 11:29:09

SQL通配符字符

通配符字符用于替代字符串中的一个或多个字符。通配符字符与LIKE运算符一起使用。LIKE运算符用于在WHERE子句中搜索列中的指定模式。

示例

返回所有以字母 ‘a’ 开头的客户:

SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';

通配符字符

符号描述
%表示零个或多个字符
_表示一个单个字符
[]表示括号内的任何单个字符
^表示括号内不在括号内的任何字符
-表示指定范围内的任何单个字符
{}表示任何转义字符
  • *不支持在PostgreSQL和MySQL数据库中。
  • **仅支持在Oracle数据库中。

演示数据库

以下是示例中使用的 Customers 表的一部分:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

使用 % 通配符

% 通配符表示任意数量的字符,甚至是零个字符。

示例

返回以模式 ‘es’ 结尾的所有客户:

SELECT * FROM Customers
WHERE CustomerName LIKE '%es';

示例

返回包含模式 ‘mer’ 的所有客户:

SELECT * FROM Customers
WHERE CustomerName LIKE '%mer%';

使用 _ 通配符

_ 通配符表示一个单个字符。它可以是任何字符或数字,但每个 _ 代表一个且仅代表一个字符。

示例

返回所有以任何字符开头,然后是 “ondon” 的城市的客户:

SELECT * FROM Customers
WHERE City LIKE '_ondon';

示例

返回所有以 “L” 开头,然后是任何 3 个字符,以 “on” 结尾的城市的客户:

SELECT * FROM Customers
WHERE City LIKE 'L___on';

使用 [] 通配符

[] 通配符返回一个结果,如果括号内的任何字符都匹配。

示例

返回以 “b”、“s” 或 “p” 中的任何字符开头的所有客户:

SELECT * FROM Customers
WHERE CustomerName LIKE '[bsp]%';

使用 - 通配符

  • 通配符允许您在 [] 通配符内指定字符范围。

示例

返回以 “a”、“b”、“c”、“d”、“e” 或 “f” 开头的所有客户:

SELECT * FROM Customers
WHERE CustomerName LIKE '[a-f]%';

组合通配符

任何通配符,如 % 和 _,都可以与其他通配符一起使用。

示例

返回以 “a” 开头且至少为 3 个字符长的客户:

SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';

示例

返回第二个位置有 “r” 的客户:

SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';

没有通配符

如果没有指定通配符,短语必须精确匹配才能返回结果。

示例

返回所有来自西班牙的客户:

SELECT * FROM Customers
WHERE Country LIKE 'Spain';

Microsoft Access通配符

Microsoft Access数据库有一些其他的通配符:

符号描述示例
*表示零个或多个字符bl* 可以找到 bl、black、blue 和 blob
?表示一个单个字符h?t 可以找到 hot、hat 和 hit
[]表示括号内的任何单个字符h[oa]t 可以找到 hot 和 hat,但不会找到 hit
!表示括号内不在括号内的任何字符h[!oa]t 可以找到 hit,但不会找到 hot 和 hat
-表示指定范围内的任何单个字符c[a-b]t 可以找到 cat 和 cbt
#表示一个单个数字符号2#5 可以找到 205、215、225、235、245、255、265、275、285 和 295

最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。

看完如果觉得有帮助,欢迎点赞、收藏关注

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1247856.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智能WIFI 电子标签

7.5/10.2/13.3寸大屏电子墨水屏高清显示 无需部署专用基站,基于标准WIFI网络通信实时在线 无需接线,极简安装 超低功耗:充一次电续航一年~ 系统联动,信息统一,WiFi控制,批量快速刷新 随改随变化&#…

【数据分享】我国12.5米分辨率的DEM地形数据(免费获取/地理坐标系)

DEM地形数据是我们在各种研究和设计中经常使用的数据!之前我们分享过500米分辨率的DEM地形数据、90米分辨率的DEM地形数据、30米分辨率的DEM地形数据(均可查看之前的文章获悉详情)。 本次我们为大家带来的是分辨率为12.5m的DEM地形数据&#…

Linux后台运行Python的py文件,如何使ssh工具退出后仍能运行

常规运行 python3 mysqlbak.py ssh工具退出后,或ctrlc中断后,程序将不在运行 后台运行 nohup python3 mysqlbak.py > mysqlbak.log & > mysqlbak.log为可选项,输出日志到指定文件,如果不写,输出日志到nohup…

CENTOS8.2下的内核启动参数cmdline更新

error: environment block too small. 删掉grubenv重新生成。 查看是什么方式启动 [rootlocalhost boot]# [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS UEFI 先改etc/default/grub GRUB_CMDLINE_LINUX"consolettyS0,115200n8 crashkernelauto ignore_…

大语言模型概述(一):基于亚马逊云科技的研究分析与实践

大型语言模型指的是具有数十亿参数(B)的预训练语言模型(例如:GPT-3, Bloom, LLaMA)。这种模型可以用于各种自然语言处理任务,如文本生成、机器翻译和自然语言理解等。 大语言模型的这些参数是在大量文本数据上训练的。…

LeeCode前端算法基础100题(2)- 最多水的容器

一、问题详情: 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:…

C++ 之win32多线程应用总结

InterlockedIncrement 函数的作用: 在多线程同时对一个变量访问时,保证一个线程访问变量时其他线程不能访问 事件是很常用的多线程同步互斥机制 HANDLE CreateEvent(LPSECURITY_ATTRIBUTES lpEventAttributes, // SECURITY_ATTRIBUTES结构指针&…

长文讲清荧光定量PCR(最新版)q-pcr rt-pcr

为讲透qPCR,我会持续更新本文,点关注追踪查看。 1.初阶认识 这个阶段,我们要明白一些概念和术语,避免自己在师兄面前错误的瞎哔哔,比如: 问:RT-PCR、qPCR、Real-time PCR、real-time RT-PCR有…

青云科技容器平台与星辰天合存储产品完成兼容性互认证

近日, 北京青云科技股份有限公司(以下简称:青云科技)的 KubeSphere 企业版容器平台成功完成了与 XSKY星辰天合的企业级分布式统一数据平台 V6(简称:XEDP)以及天合翔宇分布式存储系统 V6&#xf…

python——第十二天

内置模块或者其他模块学习方式: dir help os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口;即os模块提供了非常丰富的方法用来处理文件和目录。 os: os.path 遍历C盘代码 import os from os import path def …

0003Java程序设计-ssm基于微信小程序的家教信息管理系统

文章目录 摘要目 录系统实现开发环境 编程技术交流、源码分享、模板分享、网课分享 企鹅🐧裙:776871563 摘要 本文讲述了基于微信小程序的家教信息管理系统的设计与实现。结合线上管理的特点,分析了家教信息管理系统的现状,给出…

leetcode:环形链表的入环点

题目描述 题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目分析 我们假设起点到环的入口点的距离是L,入口点到相遇点的距离是X,环的长度是C 那么画图我们可以得知: 从开始到相遇时slow走的距离是LX从…

qRT-PCR相对定量计算详解qPCR相对定量计算方式——2^-(∆∆Ct) deta t

做完转录组分析之后,一般都要求做qRT-PCR来验证二代测序得到的转录本表达是否可靠。荧光定量PCR是一种相对表达定量的方法,他的计算方法有很多,常用的相对定量数据分析方法有双标曲线法,ΔCt法,2^-ΔΔCt法(Livak法)&a…

STM32入门笔记15_PWR电源管理模块

PWR和低功耗模式 PWR简介 PWR(Power Control) 电源控制PWR负责管理STM32内部的电源供电部分,可以实现可编程电压检测器和低功耗模式的功能可编程电压检测器(PVD) 可以监控VDD电源电压,当VDD下降到PVD阈值以下或上升到PVD阈值之上时,PVD会触…

通过线性回归进行房价预测

房价预测一直是房地产行业和投资者关注的重要问题。线性回归是一种常用的回归算法,可以建立输入变量和连续输出变量之间的关系。在本文中,我们将探讨如何使用线性回归算法来进行房价预测,并介绍该方法的步骤和实践技巧。 一、线性回归算法简…

多回路交流三相单相电压电流电量监测开口式互感器适用多种环境用电能耗监控

1 产品概述 多回路交流无线电压电流传感器/电量采集监测仪搭配多路开口式互感器,可以监控采集三相电压、电流、功率和电量等信息,可用于能耗采集监控。支持RS485和4G网络接口,数据可以对接客户指定的第三方云平台。本产品可实现单相/三相用电…

Linux应用开发基础知识——I2C应用编程(十三)

一、无需编写驱动程序即可访问 I2C 设备 APP 访问硬件肯定是需要驱动程序的,对于 I2C 设备,内核提供了驱动程序 drivers/i2c/i2c-dev.c,通过它可以直接使用下面的 I2C 控制器驱动程序来访问 I2C 设备。 i2c-tools 是一套好用的工具&#xff0…

毅速:复杂零件制造首选3D打印

确金属3D打印技术在制造行业的应用日益广泛,为制造业带来了巨大的变革和机遇。这种增材制造技术相较于传统制造工艺具有许多优势,尤其在制造复杂形状零件方面表现出色。 传统制造工艺在制造复杂形状零件时往往面临诸多挑战,如加工难度大、周期…

SuperMap iDesktopX如何获取简单线的起终端点及坐标

作者:超图研究院技术支持中心-于丁 SuperMap iDesktopX如何获取简单线的起终端点及坐标 在GIS行业应用中,线数据的端点坐标有非常多的用处。 定位和可视化:线数据端点坐标可以用于定位和可视化线要素在空间中的位置。这对于地图制作、规划和…

中文地址命名实体识别训练和预测

效果 github项目地址 https://github.com/taishan1994/pytorch_bert_bilstm_crf_ner 下载项目 放在这个位置“F:\Python\github\ultralytics-main\submain\pytorch_bert_bilstm_crf_ner-main” 训练和预测步骤 1、下载数据集 从github项目可以找到数据集下载地址 https:…