sql中like的所有用法

2023-05-16

在sql结构化查询语言中,like语句有着至关重要的作用。

like语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串)
它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。

A:% 包含零个或多个字符的任意字符串:

1、like’Mc%’ 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。
2、like’%inger’ 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。

3、like’%en%’ 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。

B:_(下划线) 任何单个字符:

like’_heryl’ 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。

C:[ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符:

1,like’[CK]ars[eo]n’ 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。

2、like’[M-Z]inger’ 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。

D:[^] 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符:

like’M[^c]%’ 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如MacFeather)。

E:* 它同于DOS命令中的通配符,代表多个字符:

c*c代表cc,cBc,cbc,cabdfec等多个字符。

F:?同于DOS命令中的?通配符,代表单个字符 :

b?b代表brb,bFb等

G:# 大致同上,不同的是代只能代表单个数字。k#k代表k1k,k8k,k0k 。

下面我们来举例说明一下:

例1,查询name字段中包含有“明”字的。

select * from table1 where name like '%明%'

例2,查询name字段中以“李”字开头。

select * from table1 where name like '李*'

例3,查询name字段中含有数字的。

select * from table1 where name like '%[0-9]%'

例4,查询name字段中含有小写字母的。

select * from table1 where name like '%[a-z]%'

例5,查询name字段中不含有数字的。

select * from table1 where name like '%[!0-9]%'

以上例子能列出什么值来显而易见。但在这里,我们着重要说明的是通配符“*”与“%”的区别。

很多朋友会问,为什么我在以上查询时有个别的表示所有字符的时候用"%"而不用“*”?先看看下面的例子能分别出现什么结果:

select * from table1 where name like '*明*'

select * from table1 where name like '%明%'

大家会看到,前一条语句列出来的是所有的记录,而后一条记录列出来的是name字段中含有“明”的记录,所以说,当我们作字符型字段包含一个子串的查询时最好采用“%”而不用“”,用“”的时候只在开头或者只在结尾时,而不能两端全由“*”代替任意字符的情况下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sql中like的所有用法 的相关文章

  • MYSQL 查询返回“资源 id#12”而不是它应返回的数值

    不知道为什么 但这返回了错误的值 我正在取回此资源 ID 12 而不是我正在寻找的数值 1 执行此操作的代码是 type SELECT account type from user attribs WHERE username userna
  • 如何在MyBatis foreach中迭代HashMap?

    我正在尝试在 mybatis 中生成如下所示的 sql SELECT COL C FROM TBLE 1 WHERE COL A COL B in kp kar srt sach 而我的输入参数类型是HashMap 现在如何从映射器 xml
  • 如何在TOAD的DataGrid中显示sys_refcursor数据

    请我需要帮助 我搜索了很多并且变得更加困惑 我使用 Toad 9 7 25 并且我做了这个程序 在一个包中 PROCEDURE ReportaCC pfcorte IN DATE lcursor IN OUT SYS REFCURSOR I
  • 为什么此 SQL 更新失败(“列名无效”)?

    我有一个 SQL Server CE 表 如下所示 我正在尝试像这样更新其唯一记录 update workTables set fileType INV 但我得到 Why UPDATE 请查看相关问题here https stackover
  • SqlCommand 参数与 String.Format [重复]

    这个问题在这里已经有答案了 我一直在互联网上搜索 但似乎找不到任何可以解释我的问题的内容 可能是我没有使用正确的搜索字符串 所以我在这里发帖希望有人可以帮助我有了这个 我的程序是使用Visual Studio 2010用C 编写的 我注意到
  • PHP PDO相关:更新SQL语句未更新数据库内容

    我正在尝试使用准备好的语句来实现更新语句PHP http en wikipedia org wiki PHP脚本 但它似乎没有更新数据库中的记录 我不确定为什么 所以如果您能分享一些见解 我将不胜感激 Code query UPDATE D
  • 使用按位函数查询 BIT 字段时,MySQL 不使用索引

    我的 MySQL 表中有一个 BIT 类型的字段 我想使用位值存储记录的状态 例如 1 status1 2 status2 4 status3 8 status4 每条记录可以同时具有多种状态 对于 status1 和 status3 该值
  • java.sql.Timestamp 到微秒精度的字符串

    我正在将时间戳列从数据库读取到 java sql Timestamp 对象中 然后我想将时间戳的值转换为 String 对象 但保持微秒精度 调用 toString 方法让我接近 但它似乎在微秒内丢失了尾随零 如果时间戳以非零数字结尾 则一
  • 如何以最少的查询次数获取帖子列表和关联标签

    我的表格结构如下 标签 更多的是一个类别 id 标签名称 描述 slug POSTS ID 标题 网址 邮戳 id idPost idTag USERS ID 用户名 userSlug VOTES id idPost idUser 每个帖子
  • 如何查找 PostgreSQL 数据库的上次更新时间?

    我正在使用一个批量更新的 postgreSQL 数据库 我需要知道数据库 或数据库中的表 上次更新或修改的时间 两者都可以 我看到 postgreSQL 论坛上有人建议使用日志记录并查询日志 这对我不起作用 因为我无法控制客户端代码库 你可
  • 使用 Spark DataFrame 获取组后所有组的 TopN

    我有一个 Spark SQL DataFrame user1 item1 rating1 user1 item2 rating2 user1 item3 rating3 user2 item1 rating4 如何按用户分组然后返回TopN
  • 如何在SSRS中的表上创建热图?

    如何在 SSRS 中创建这样的内容 颜色将根据行中的值 承销商 从红色变为绿色 所有这些都在一个组中 您可以通过右键单击各个单元格并根据表达式设置填充颜色来完成此操作 In the Image below I ve mistakingly
  • SQL参数化查询不显示结果

    我的 DataAcess 类中有以下函数 但它没有显示任何结果 我的代码如下 public List
  • 获取家庭成员

    假设以下家庭 其构建架构是 create table PersonConn child int parent int insert into PersonConn values 1 2 insert into PersonConn valu
  • java mysql 准备好的语句

    我正在尝试使用 java 向数据库中进行简单的插入 它告诉我我的 sql 语法已关闭 但是 当我复制打印出来的字符串并将其放入 phpmyadmin 中的 sql 命令中时 它会正确执行该命令 并且我似乎无法弄清楚 java 中的字符串查询
  • 将 SQL 数据中的一行映射到 Java 对象

    我有一个 Java 类 其实例字段 以及匹配的 setter 方法 与 SQL 数据库表的列名相匹配 我想优雅地从表中获取一行 到 ResultSet 中 并将其映射到此类的实例 例如 我有一个 Student 类 其中包含实例字段 FNA
  • 将 UUID 存储为 base64 字符串

    我一直在尝试使用 UUID 作为数据库键 我希望占用尽可能少的字节数 同时仍然保持 UUID 表示形式的可读性 我认为我已经使用 base64 将其减少到 22 个字节 并删除了一些尾随的 这些 对于我的目的来说似乎没有必要存储 这种方法有
  • 独立对列进行排序,使得所有空值都位于每列的最后

    这是一个名为的示例表animal name color fox brown fox red dog gold 现在 我想要的是这样的结果 fox dog brown gold red 名称应该是结果的列 不同颜色值作为行 我的第一个想法是
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 是否有适用于所有数据库的标准sql

    如下所示 不同数据库的语法有所不同 是否存在适用于所有数据库的标准方法 有没有什么工具可以将任意sql转换为任意sql SQL Server 2005 CREATE TABLE Table01 Field01 int primary key

随机推荐

  • Flutter组件的所有细节All details about Flutter Widgets

    2 2 Introduction to Widgets 2 2 1 Concept of Widget In the previous introduction we know that almost all objects in Flut
  • ftp协议 -----服务器实现文件共享

    同一局域网建立ftp服务器实现文件共享 可以采用共享网络的方式实现在局域网中进行文件的传送 xff0c 也可以一台电脑上搭建ftp服务器实现 网上找了好多 xff0c 都是本机可以连接但是同一局域网中的其他用户就没有办法进行连接 xff0c
  • Linux shell 用for循环100次的方法

    前言 循环不管在程序中还是脚本中都需要经常用到 xff0c 在写shell脚本时 xff0c 经常需要for进行100次循环 这里谈谈几种从1到100的循环方法 四种方法 C语言风格 span class hljs keyword for
  • Android开发日志打卡APP(二)

    Android开发日志打卡APP xff08 二 xff09 文章目录 Android开发日志打卡APP xff08 二 xff09 前言开发过程一 背景和标题二 日志图标三 日志弹框 前言 在之前的文章中 xff0c 准备工作已经完成 x
  • 蓝牙模块HC05与HC06的连接

    在Win10环境下的HC05与HC06的连接介绍 用于电脑无法识别蓝牙情况下的曲线救国 xff0c 开始是失败的操作 曾在电脑管家尝试解决问题WIN 43 R services msc 发现无法解决问题 xff0c 于是找了一堆串口工具 x
  • 【开闭原则】

    开闭原则 xff08 Open Close Principle xff09 开闭原则就是说对扩展开放 xff0c 对修改关闭 在程序需要进行拓展的时候 xff0c 不能去修改原有的代码 xff0c 实现一个热插拔的效果 所以一句话概括就是
  • activity getIntent() 方法获取不到值的问题分析

    之前有同事小伙伴问我说 xff0c 他在activity里边调用getIntent 方法没有获取到应该传递过来的值 看了下他这个activity是single task属性的 xff0c 怀疑是由于activity的single task属
  • 解决git bash中无法粘贴的问题

    刚学git xff0c 在用git bash添加远程仓库的时候 xff0c 不能复制链接 xff0c 太浪费时间 xff0c 就网上搜了一下解决方法 xff0c 记录一下 步骤 xff1a 打开git bash在git bash中右键找到属
  • ubuntu的Files资源管理器打不开解决方案

    之前安装一个软件中途可能依赖包的问题导致安装失败之后就没管 后来发现Files打不开了 xff0c 查看计算机中的文件只能用命令行了 虽然也不影响啥 xff0c 但是想预览一些图片时就比较不方便 本来想用命令ps A grep nautil
  • Java中String的长度限制解析

    前言 话说Java中String是有长度限制的 xff0c 听到这里很多人不禁要问 xff0c String还有长度限制 xff1f 是的有 xff0c 而且在JVM编译中还有规范 xff0c 而且有的家人们在面试的时候也遇到了 xff0c
  • EFCore——三种关系的配置(9)

    关系的配置之一对多 一 关系配置的套路二 一对多1 创建实体2 实体配置3 迁移4 控制台进行数据操作5 关系依赖添加 二 一对一1 实体属性2 配置关系 三 多对多 一 关系配置的套路 EFCore中配置的套路 HasXXX WithXX
  • NetCore缓存——内存缓存(3)

    内存缓存 一 缓存数据类型二 缓存特性三 用法 一 缓存数据类型 缓存放到应用程序的内存中 内存缓存中保存的是一系列的键值对 就像Dictionary类型一样 二 缓存特性 内存缓存保存在当前运行的网站程序的内存中是和进程相关的 因为在we
  • 流程审批系统设计思路及实现方法

    背景 流程审批系统是一个很常见的系统 xff0c 包括我们在日常权限申请 xff0c 订单状态流转等很多场景都会接触 其核心的点有两个 xff1a 1 状态流转 2 流程驱动 我们以我们常见的流程审批为例 xff0c 比如我想向上街申请一台
  • 【问题】Ubuntu20.04桌面某些图标不显示

    问题 x1f631 xff1a 在桌面新建了test md xff0c 保存后关闭 桌面没有对应文件的图标 分析 x1f42f xff1a gnome shell问题 解决方案 x1f489 xff1a 重启gnome shell 按下al
  • 【python】连接远程服务器并传输文件,执行命令,传回文件

    使用Paramiko完成连接远程服务器并传输文件 执行命令 传回文件的功能 1 安装 pip install paramiko 2 config json nbsp nbsp file path home test test nbsp nb
  • centos7 安装GNOME 使用vnc连接

    1 xff1a 查看当前系统运行级别 命令 xff1a runlevel root span class hljs decorator 64 wst runlevel span N span class hljs number 3 span
  • 升级AS gradle错误

    错误信息 Direct local aar file dependencies are not supported when building an AAR 最近升级了AS和gradle 在编译时总是提示 gt Direct local a
  • 【项目实战】Spring体系结构与框架图

    一 Spring 体系结构 Spring 有可能成为所有企业应用程序的一站式服务点 xff0c 然而 xff0c Spring 是模块化的 xff0c 允许你挑选和选择适用于你的模块 xff0c 不必要把剩余部分也引入 下面的部分对在 Sp
  • sizeof的使用方法!!!

    sizeof xff08 int xff09 等的大小依赖于操作系统的位数 xff0c 如果是在 16 位 DOS 环境下 xff0c 用 TC 编译 xff0c 则为 2 xff0c 如果在 windows 环境下 xff0c 用 VC
  • sql中like的所有用法

    在sql结构化查询语言中 xff0c like语句有着至关重要的作用 like语句的语法格式是 xff1a select from 表名 where 字段名 like 对应值 xff08 子串 xff09 xff0c 它主要是针对字符型字段