首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

排除字符串的SQL like语句

SQL like语句用于在数据库中进行模糊匹配查询,通常是通过通配符(%)来表示匹配的模式。但在某些情况下,我们可能需要排除字符串的匹配结果。下面是一个完善且全面的答案:

排除字符串的SQL like语句是通过使用“NOT LIKE”来实现的。它用于排除包含指定字符串的结果集,只返回不包含该字符串的记录。

SQL语句的基本语法如下:

代码语言:txt
复制
SELECT * FROM table_name WHERE column_name NOT LIKE 'pattern';

其中,table_name是要查询的表名,column_name是要查询的列名,pattern是要排除的字符串模式。

需要注意的是,pattern可以包含通配符%,表示任意字符。例如,如果我们想排除以"abc"开头的字符串,可以使用以下语句:

代码语言:txt
复制
SELECT * FROM table_name WHERE column_name NOT LIKE 'abc%';

如果我们想排除以"abc"结尾的字符串,可以使用以下语句:

代码语言:txt
复制
SELECT * FROM table_name WHERE column_name NOT LIKE '%abc';

除了通配符%,我们还可以使用下划线(_)来表示单个字符的通配符。例如,如果我们想排除包含任意一个字符的"abc"字符串,可以使用以下语句:

代码语言:txt
复制
SELECT * FROM table_name WHERE column_name NOT LIKE 'abc_';

此外,我们还可以通过组合使用%和_来构建更复杂的排除模式。例如,如果我们想排除长度为3且第一个字母是"a"的字符串,可以使用以下语句:

代码语言:txt
复制
SELECT * FROM table_name WHERE column_name NOT LIKE 'a__';

在腾讯云的数据库产品中,针对不同的应用场景和需求,可以选择使用不同的数据库产品,如云数据库MySQL、云数据库SQL Server、云数据库MongoDB等。具体选择哪个产品取决于实际情况。

腾讯云云数据库MySQL是一种关系型数据库,提供高可用、可扩展和自动备份等特性。您可以在以下链接中了解更多关于腾讯云云数据库MySQL的信息:

https://cloud.tencent.com/product/cdb_mysql

腾讯云云数据库SQL Server是基于微软SQL Server引擎构建的关系型数据库,具有与SQL Server兼容、高性能、高可用和自动备份等特点。您可以在以下链接中了解更多关于腾讯云云数据库SQL Server的信息:

https://cloud.tencent.com/product/cdb_mssql

腾讯云云数据库MongoDB是一种面向文档的NoSQL数据库,具有高性能、高可用、可扩展和自动备份等特性。您可以在以下链接中了解更多关于腾讯云云数据库MongoDB的信息:

https://cloud.tencent.com/product/cdb_mongodb

通过使用腾讯云的数据库产品,您可以轻松管理和查询数据,并实现高可用和灵活的扩展,从而满足不同的业务需求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

sql语句 模糊查找like

大家好,又见面了,我是你们朋友全栈君。 模糊查找:like 语法形式:字段 like ‘要查找字符’ 说明: 1、like模糊查找用于对字符类型字段进行字符匹配查找。...3、语法:like ‘%关键字%’ SELECT * FROM student WHERE NAME LIKE ‘张%’; — 以张开头 SELECT * FROM student WHERE NAME...LIKE ‘张_’; — 以张开头,而且名字是两个字 SELECT * FROM student WHERE NAME LIKE ‘%张%’; — 名字里面只要有张就可以 如果要查找字符里中包含”...%”,”_”, 如果要查找字符中包含“%”或“_”,“ ’”,则只要对他们进行转义就可以: like ‘%ab\%cd%’ //这里要找是: 包含 ab%cd 字符字符 like ‘\_ab%’...//这里要找是: _ab开头字符 like ‘%ab\’cd%’ //这里要找是: 包含 ab’cd 字符字符 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

99610
  • Mysql常用sql语句(9)- like 模糊查询

    测试必备Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 like应该是最常用查询条件了 必须滴掌握!...like语法格式 LIKE '字符串' NOT LIKE '字符串' NOT:取反,不满足指定字符串时匹配 字符串:可以是精确字符串,也可以是包含通配符字符串 LIKE支持 和 _ 两个通配符...等字符串 a%b 查询username字段包含test记录 select * from yyTest where username like "%test%"; ?...知识点 匹配字符串必须加单引号或双引号 like "%test%" _ 通配符查询栗子 只能代表单个字符,字符长度不能等于0,即字符长度必须等于1;相对于 % 来说, _ 肯定没这么常用 _...like 区分大小写栗子 默认情况下,like匹配字符串是不区分大小写; 和 like "TEST1" 匹配结果是一样 like "test1" 如果需要区分大小写,需要加入 关键字 binary

    2.8K20

    由一条like语句引发SQL注入新玩法

    注:本文首发于先知社区,https://xz.aliyun.com/t/8116 START 0x01前言 群里一位老哥发了一个挺有意思SQL语句,使用like但是没有使用模糊查询,却匹配出了所有字段...小菜比感觉很新鲜,所以简单进行了一番学习,在学习过程想起一个检测SQL注入payload: and 1 like 1 但是当时并没有跟进学习,所以应该也不算新技巧了 0x02跟进探索学习 首先从字段值不同类型来测试...根据前面的测试,意识到可能存在运算符优先级问题,like优先级高于=, 下面两条语句等价 select * from admin where name=1 like 2; select * from...下面的测试中新增了两行test数据 还可以用于判断列名是否存在: 当列名存在时,可通过赋值排除某一项 0x04进一步发现 同样还是like语句返回True或False,也就是1和0问题,在列值为字符串类型时...,这里能够实现or 1=1效果(也就是只能应用于列值类型为字符串时候) 算是一种新型万能密码吧,可看后面的玩法应用 0x05玩法应用 1、检测SQL注入 此处id字段值为int型(如前面验证那样,

    5.7K10

    SQLlike用法.

    大家好,又见面了,我是你们朋友全栈君。 Like运用场合主要在模糊查询时候,一般以查询字符串居多,这里据一些例子来说他一般用法: 例1,查询name字段中包含有“明”字。...select * from table1 where name like ‘%明%’ 这里不要使用*来代替,一般在使用0个或者任意个字符构成字符串时候最好使用% 不过在首或尾使用可以相互替换,如果在头尾同时使用的话...select * from table1 where name like ‘李*’ 或者 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字段中不含有数字

    1K30

    SQL 使用like '%ABC' 和 like '%ABC%'

    一般情况下,sql中使用col_name like 'ABC%‘情况才能使用到col_name字段上索引。那么如果是col_name like '%ABC%'情况,能否使用索引呢?...改写后SQL走了索引。 二、col_name like '%ABC%'时优化方法 ? 一般认为这种情况是不能使用索引,但还是有一些优化方法可以使用。...有三种情况: 1、ABC始终从字符串开始某个固定位置出现,可以创建函数索引进行优化 2、ABC始终从字符串结尾某个固定位置出现,可以创建函数组合索引进行优化 3、ABC在字符串中位置不固定,可以通过改写...reverse('%TAB_COL'); 情况3、这种情况需要like字段上存在普通索引,主要在SQL写法上做改进。...原来SQL是这样写: Select object_id,object_type,object_name from t1 where object_name like '%ABC%‘; 改写后SQL

    2K80

    mysql语句截取字符串_sql截取字符串函数

    今天建视图时,用到了MySQL中字符串截取,很是方便 感觉上MySQL字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用。...带有len参数格式从字符串str返回一个长度同len字符相同字符串,起始于位置 pos。 使用 FROM格式为标准 SQL 语法。也可能对pos使用一个负值。...假若这样,则子字符串位置起始于字符串结尾pos 字符,而不是字符串开头位置。在以下格式函数中可以对pos 使用一个负值。 详情请查阅手册。..., 3, 1 ) ) 这条语句得到2 1和2都得到了再通过主查询where来查询,要注意我们需要查询id=1和id=2记录,所以用到了OR,怎么样,是不是有点麻烦, 您第一直觉是不是要用2条sql...语句,中间再配合phpexplode函数来查询呢?

    2.3K20

    SQL语句优化

    SQL语句优化 如何索取有性能问题SQL渠道 通过用户反馈获取存在性能问题SQL 通过慢查日志获取存在性能问题SQL 实时获取存在性能问题SQL 慢查询日志介绍 slow_quey_log=on...表示只有在查询语句中使用了SQL_CACHE和SQL_NO_CACHE来控制是否需要进行缓存 query_cache_size 设置查询缓存内存大小 query_cache_limit 设置查询缓存可用存储最大值...优化SQL查询计划 语法解析阶段是通过关键字对MySQL语句进行解析,并生成一颗对应解析树 MySQL解析器将使用MySQL语法规则验证和解析查询,包括检查语法是否使用了正确关键走;关键字顺序是否正确等等...set enabled='yes' where name like 'events%'; SELECT a.thread_id, sql_text, c.event_name, (c.timer_end...FROM payment ) #优化后SQL语句 SELECT a.customer_id, a, first_name, a.last_name, a.email FROM customer a

    3.3K00

    SQL 查询语句

    在这里,有一点要说明下,SQL 语句不区分大小写,意思是我们可以使用大写或者小写,都是可以。像刚才语句我们可以使用,use order_manager。...对于单条 SQL 语句来说,在结尾处加分号或者不加分号都是可以。但是多条 SQL 语句必须以分号分隔。虽然单条语句不强制加分号,但是加上也没有什么不好,所以我们建议单条 SQL 语句也加上分号。...还有点要注意,刚才说标点符号要是英文标点符号,如果使用中文标点符号会报错。还有就是,在处理 SQL 语句时,所有的空格都会被忽略,我们可以把一条 SQL 语句写在一行上,也可以分开写在多行上。...但是比较好习惯是,将 SQL 语句写在多行上,这样使得代码更容易阅读和调试。 刚才我们从数据库表中查询是单个列,我们还可以从数据库表中查询多个列。...注释 随着 SQL 语句越来越复杂,我们需要添加一些注释,便于自己以及别人参考。

    2.7K30

    数据库SQL语句大全——最常用SQL语句

    = 不等于 < 小于 <= 小于等于 > 大于 >= 大于等于 BETWEEN 在指定两个值之间 数据过滤: 组合where语句 and操作符(同时符合where后面的条件) SELECT pname...表中商品名称含有“女”商品,不管开头结尾是什么内容 SELECT pname FROM product WHERE pname LIKE '%女%' 下划线_通配符(用途和%一样,不过_只匹配单个字符...) SELECT pname,market_price FROM product WHERE market_price LIKE '_99' 正则表达式搜索 基本字符串匹配 SELECT pname...这是一个重 要区别,WHERE排除行不包括在分组中。这可能会改变计 算值,从而影响HAVING子句中基于这些值过滤掉分组。...SELECT语句执行顺序 SELECT 要返回列或表达式 是 FROM 从中检索数据表 仅在从表选择数据时使用 WHERE 行级过滤 否 GROUP BY 分组说明 仅在按组计算聚集时使用 HAVING

    3K30

    sql语句各种模糊查询语句

    一般模糊语句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: 1、%:表示任意0个或多个字符。...匹配单个任意字符,它常用来限制表达式字符长度语句: 比如 SELECT * FROM [user] WHERE u_name LIKE ‘三’ 只找出“唐三藏”这样u_name为三个字且中间一个字是...指定一个字符、字符串或范围,要求所匹配对象为它们中任一个。...] WHERE u_name LIKE ‘老[^1-4]’; 将排除“老1”到“老4”,寻找“老5”、“老6”、…… 5、查询内容包含通配符时 由于通配符缘故,导致我们查询特殊字符“%”、“_”、...“[”语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。

    1.7K10
    领券