SqlServer2016模糊匹配的三种方式及效率问题简析
本文实例讲述了SqlServer2016模糊匹配的三种方式及效率问题。分享给大家供大家参考,具体如下:
数据库是Sqlserver 2016版
现在业务需求是:要查询出企业名称为以下几个的,XXX,XXXX等等:
第一种方式:like '%XXX%' OR like '%XXXX%'
select cName from tAccountAuditing where cName like '%测试moa000154%' OR cName like '%测试集团上海事业部%' and activeAuditingCodeFromJdjr = 1
第二种方式:PATINDEX('%XXX%',cName) > 0
select cName from tAccountAuditing where ( PATINDEX('%测试moa000154%',cName) > 0 OR PATINDEX('%测试集团上海事业部%',cName) > 0 ) and activeAuditingCodeFromJdjr = 1
第三种方式:CHATINDEX('XXX',cName) > 0
这里不要百分号的啊
select cName from tAccountAuditing where ( CHARINDEX('测试moa000154',cName) > 0 OR CHARINDEX('测试集团上海事业部',cName) > 0 ) and activeAuditingCodeFromJdjr = 1
效率上的话,后两种比like都要好~
更多关于SQL Server相关内容感兴趣的读者可查看本站专题:《SQL Server查询操作技巧大全》、《SQL Server日期与时间操作技巧总结》、《SQL Server存储过程技巧大全》、《SQL Server索引操作技巧大全》及《SQL Server常用函数汇总》
希望本文所述对大家SQL Server数据库程序设计有所帮助。
相关推荐
-
SqlServer使用 case when 解决多条件模糊查询问题
我们在进行项目开发中,经常会遇到多条件模糊查询的需求.对此,我们常见的解决方案有两种:一是在程序端拼接SQL字符串,根据是否选择了某个条件,构造相应的SQL字符串:二是在数据库的存储过程中使用动态的SQL语句.其本质也是拼接SQL字符串,不过是从程序端转移到数据库端而已. 这两种方式的缺点是显而易见的:一是当多个条件每个都可为空时,要使用多个if语句进行判断:二是拼接的SQL语句容易产生SQL注入漏洞. 最近写数据库存储过程的时候经常使用case when 语句,正好可以用这个语句解决一下以上问
-
SqlServer参数化查询之where in和like实现详解
身为一名小小的程序猿,在日常开发中不可以避免的要和where in和like打交道,在大多数情况下我们传的参数不多简单做下单引号.敏感字符转义之后就直接拼进了SQL,执行查询,搞定.若有一天你不可避免的需要提高SQL的查询性能,需要一次性where in 几百.上千.甚至上万条数据时,参数化查询将是必然进行的选择.然而如何实现where in和like的参数化查询,是个让不少人头疼的问题. where in 的参数化查询实现 首先说一下我们常用的办法,直接拼SQL实现,一般情况下都能满足需要 复
-
sqlserver 中charindex/patindex/like 的比较
一.测试环境: 1.数据库:Sql Server 2008 2.测试表:15000记录,char类型主键,无其他索引 3.测试字段:ntext 类型,最大数据长度12000 二.测试语句: 1.select * from ProductTemp where ProductDesc like '%192.168.70.236%' 2.select * from ProductTemp where charindex('192.168.70.236',ProductDesc)>0 3.select
-
SQLServer中使用扩展事件获取Session级别的等待信息及SQLServer 2016中Session级别等待信息的增强
什么是等待 简单说明一下什么是等待: 当应用程序对SQL Server发起一个Session请求的时候,这个Session请求在数据库中执行的过程中会申请其所需要的资源, 比如可能会申请内存资源,表上的锁资源,物理IO资源,网络资源等等, 如果当前Session运行过程中需要申请的某些资源无法立即得到满足,就会产生等待. SQL Server会以不用的方式来展现这个等待信息,比活动Session的等待信息,实例级的等待信息等等. SQL Server中,等待事件是作为DBA进行TroubleSh
-
sqlserver 模糊查询常用方法
搜索条件中的模式匹配 LIKE 关键字搜索与指定模式匹配的字符串.日期或时间值.LIKE 关键字使用常规表达式包含值所要匹配的模式.模式包含要搜索的字符串,字符串中可包含四种通配符的任意组合. 通配符 含义 % 包含零个或更多字符的任意字符串. _ 任何单个字符. [ ] 指定范围(例如 [a-f])或集合(例如 [abcdef])内的任何单个字符. [^] 不在指定范围(例如 [^a - f])或集合(例如 [^abcdef])内的任何单个字符. 请将通配符和字符串用单引号引起来,例如: LI
-
MSSQL Server 查询优化方法 整理
1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有 创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7. 锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必 要的行和列 10.查询语句不好,没有优化 ●可以通过如下方法来优化查询 : 1. 把数据.日志.索引放到不同
-
SqlServer参数化查询之where in和like实现之xml和DataTable传参介绍
方案5 使用xml参数 对sql server xml类型参数不熟悉的童鞋需要先了解下XQuery概念,这里简单提下XQuery 是用来从 XML 文档查找和提取元素及属性的语言,简单说就是用于查询xml的语言说到这就会牵着到XPath,其实XPath是XQuery的一个子集,XQuery 1.0 和 XPath 2.0 共享相同的数据模型,并支持相同的函数和运算符,XPath的方法均适用于XQuery,假如您已经学习了 XPath,那么学习 XQuery 也不会有问题.详见http://www
-
SqlServer中模糊查询对于特殊字符的处理方法
今天在处理sql查询的时候遇到了like查询不到的问题,于是对问题进行剖析 问题: select * from v_workflow_rt_task_circulate where Name like '%[admin]请假申请[2017-02-13至2017-02-13]%' 查询不到,但是在数据库中是存在在这一条数据的. 修改后: select * from v_workflow_rt_task_circulate where Name like '%[[]admin]请假申请[[]2017
-
SqlServer2016模糊匹配的三种方式及效率问题简析
本文实例讲述了SqlServer2016模糊匹配的三种方式及效率问题.分享给大家供大家参考,具体如下: 数据库是Sqlserver 2016版 现在业务需求是:要查询出企业名称为以下几个的,XXX,XXXX等等: 第一种方式:like '%XXX%' OR like '%XXXX%' select cName from tAccountAuditing where cName like '%测试moa000154%' OR cName like '%测试集团上海事业部%' and activeA
-
vue实现input输入模糊查询的三种方式
目录 1 计算属性实现模糊查询 2 watch 监听实现模糊查询 3 通过按钮点击实现模糊查询 1 计算属性实现模糊查询 vue 中通过计算属性实现模糊查询,创建 html 文件,代码直接放入即可. 这里自己导入 vue,我是导入本地已经下载好的. <script src="./lib/vue-2.6.12.js"></script> 演示: 打开默认显示全部 输入关键字模糊查询,名字和年龄都可以 完整代码如下: <!DOCTYPE html> &l
-
Java中获取时间戳的三种方式对比实现
Java中获取时间戳 三种方式对比 最近项目开发过程中发现了项目中获取时间戳的业务.而获取时间戳有以下三种方式,首先先声明推荐使用System类来获取时间戳,下面一起看一看三种方式. 1.System.currentTimeMillis() System类中的currentTimeMillis()方法是三种方式中效率最好的,运行时间最短.开发中如果设计到效率问题,推荐使用此种方式获取. System.currentTimeMillis() 2.new Date().getTime() 除了Sys
-
android中Webview实现截屏三种方式小结
本人最近学习了android中Webview实现截屏三种方式,下面我来记录一下,有需要了解的朋友可参考.希望此文章对各位有所帮助. 第一种方式 通过调用webview.capturePicture(),得到一个picture对象,根据图像的宽和高创建一个Bitmap,再创建一个canvas,绑定bitmap,最后用picture去绘制. //获取Picture对象 Picture picture = wv_capture.capturePicture(); //得到图片的宽和高(没有reflec
-
MyBatis实现模糊查询的几种方式
在学习MyBatis过程中想实现模糊查询,可惜失败了.后来上百度上查了一下,算是解决了.记录一下MyBatis实现模糊查询的几种方式. 数据库表名为test_student,初始化了几条记录,如图: 起初我在MyBatis的mapper文件中是这样写的: <select id="searchStudents" resultType="com.example.entity.StudentEntity" parameterType="com.exampl
-
详解使用scrapy进行模拟登陆三种方式
scrapy有三种方法模拟登陆方式: - 直接携带cookies - 找url地址,发送post请求存储cookie - 找到对应的form表单,自动解析input标签,自动解析post请求的url地址,自动带上数据,自动发送请求 1.携带cookies登陆github import scrapy import re class Login1Spider(scrapy.Spider): name = 'login1' allowed_domains = ['github.com'] start_
-
解决SpringBoot跨域的三种方式
一.什么是跨域 1.1.为什么会出现跨域问题 出于浏览器的同源策略限制.同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现.同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互.所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port) 简单说A应用只能访问
-
springmvc url处理映射的三种方式集合
目录 一.SpringMVC简介 二.工作流程与介绍 三.代码截图 以下组件通常使用框架提供实现: 1.DispatcherServlet:前端控制器 2.HandlerMapping:处理器映射器 3.Handler:处理器 4.HandlAdapter:处理器适配器 5. ViewResolver:视图解析器 6.View:视图 四.适配器作用 一.SpringMVC简介 SpringMVC是一种基于Spring实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,使用了MVC架构模
-
Python批量模糊匹配的3种方法实例
目录 前言 使用编辑距离算法进行模糊匹配 使用fuzzywuzzy进行批量模糊匹配 fuzz模块 process模块 整体代码 使用Gensim进行批量模糊匹配 Gensim简介 使用词袋模型直接进行批量相似度匹配 使用TF-IDF主题向量变换后进行批量相似度匹配 同时获取最大的3个结果 完整代码 总结 前言 当然,基于排序的模糊匹配(类似于Excel的VLOOKUP函数的模糊匹配模式)也属于模糊匹配的范畴,但那种过于简单,不是本文讨论的范畴. 本文主要讨论的是以公司名称或地址为主的字符串的模糊
-
Python图片存储和访问的三种方式详解
目录 前言 数据准备 一个可以玩的数据集 图像存储的设置 LMDB HDF5 单一图像的存储 存储到 磁盘 存储到 LMDB 存储 HDF5 存储方式对比 多个图像的存储 多图像调整代码 准备数据集对比 单一图像的读取 从 磁盘 读取 从 LMDB 读取 从 HDF5 读取 读取方式对比 多个图像的读取 多图像调整代码 准备数据集对比 读写操作综合比较 数据对比 并行操作 前言 ImageNet 是一个著名的公共图像数据库,用于训练对象分类.检测和分割等任务的模型,它包含超过 1400 万张图像
随机推荐
- 写了个批量替换字符串的bat批处理(replaceChar.bat)
- angularjs实现多张图片上传并预览功能
- 如何用表单的方式推送请求的信息?
- 解析php开发中的中文编码问题
- C#设计模式之Observer观察者模式解决牛顿童鞋成绩问题示例
- Javascript自定义排序 node运行 实例
- Windows系统下Node.js的简单入门教程
- ajax实现异步文件或图片上传功能
- PHP Ajax实现表格实时编辑
- XML相关技术资料
- javascript中的self和this用法小结
- nginx+iis实现简单的负载均衡
- C++联合体转换成C#结构的实现方法
- SQLServer EVENTDATA()函数来获取DDL 触发器信息
- Javascript实例教程(19) 使用HoTMetal(3)
- js切换div css注意的细节
- GridView单元格合并
- PHP实现基数排序的方法详解
- PHP中PCRE正则解析代码详解
- Hibernate连接三种数据库的配置文件