一个字符对另一个字符串的完全匹配
来源:互联网 发布:php开发oa系统 编辑:程序博客网 时间:2024/05/16 12:18
最近在修改别人的项目中,遇到一个比较郁闷的问题!当一个字段中插入多个人员登录名(字段:loginname 如:yanwb,chenj,labb,wbss,lizw)等.但当我们需要处理一些业务逻辑时,需要匹配当前用户是否存于这个段中,有些人会采用读取这个字段后,再通过分割字符串,一个一个去匹配.这样虽能达到其效果,但同样会影响速度.所以找到了一种比较简单的方法,可以提高其速度!
例子:三种方式:
--定义传入的字符@fdname
--creplyuseraccount则为存为字符的字段
-----------------------------------------------------------
第一种:
SET STATISTICS TIME ON
declare @fdname varchar(100)
set @fdname='yanwb'
SELECT * FROM Bst_RepeatBaseInfo WHERE CHARINDEX(','+RTRIM(@fdname)+',',','+creplyuseraccount+',')>0
SET STATISTICS TIME OFF
第一种方式执行时间为102 毫秒。
-----------------------------------------------------------------
第二种:
SET STATISTICS TIME ON
declare @fdname varchar(100)
set @fdname='yanwb'
SELECT * FROM Bst_RepeatBaseInfo WHERE PATINDEX('%,'+RTRIM(@fdname)+',%',','+creplyuseraccount+',')>0
SET STATISTICS TIME OFF
第二种方式执行时间为135 毫秒。
-----------------------------------------------------------------
第三种:
SET STATISTICS TIME ON
declare @fdname varchar(100)
set @fdname='yanwb'
SELECT * FROM Bst_RepeatBaseInfo WHERE ','+creplyuseraccount+',' LIKE '%,'+RTRIM(@fdname)+',%'
SET STATISTICS TIME OFF
第三种方式执行时间为107 毫秒。
这是三种方式所得到的结果!
- 一个字符对另一个字符串的完全匹配
- 一个字符串在另一个字符串中匹配的次数
- 判断一个字符是否是另一个字符的旋转字符串
- 将一个字符串放到另一个字符串最小字符的后面
- 一个字符串中包含另一个字符串所有字符的最短子串
- 哈希表:一个字符串是否包含另一个字符串的所有字符
- 判断一个字符串是不是另一个的子串(匹配)
- 哈希表对字符串的高效处理3:实现一个听高级的字符匹配算法
- 检查一个字符串中是否包含另一个字符的函数
- Java计算一个字符在另一个字符串出现的次数
- 结合 sql 完全匹配一个字符
- 匹配一个字符串和另一个字符串的子串的方法
- 在一个字符串中删除指定的字符 & 删除字符串中所有出现在另一个字符数组中的字符
- 从一个字符串中删除另一个字符串中出现的字符
- 在一个字符串中删除另一个字符串中存在的字符
- 判断一个字符串里是否包含另一个字符串所有的字符
- 从一个字符串中删除另一个字符串中出现的字符
- 从一个字符串中删除另一个字符串中出现过的字符
- NOIP2004 合唱队形
- Linux解压命令
- 设计模式——适配器模式(Adapter)
- linux常用软件
- Linux基本网络配置命令
- 一个字符对另一个字符串的完全匹配
- android中Mediaplay的使用
- javascript对象定义方法
- There are no resources that can be added or removed from the server.
- java中遍历MAP的几种方法
- 【语言国际化】字符集编码(GBK,BIG5,UNICODE)与C++的string/wstring
- c#TextBox控件Enabled為false後設定控件字體顏色
- flex软件盘
- 幂律power-law