------------------------------------

-- Author: happyflystone

-- Date:2009-07-20

-- Parameter: @CardString

-- 被查询的串,形如:-13300001234,13300002230,13300002300

-- @CardNo  要查询的串

-- Return : int 0 -- 不存在于搜索串的范围内

--              1 -- 存在于

-- 转载请注明出处。更多请访问:http://blog.csdn.net/happyflystone

-- 原帖地址:http://blog.csdn.net/happyflystone/archive/2009/07/21/4365264.aspx

------------------------------------

--创建函数

Create function IsInCardString(@CardString varchar(8000),@CardNo varchar(11))

returns int

as

begin

declare @temp table(a varchar(200))

declare @i int

set @CardString = rtrim(ltrim(@CardString))+','

set @i = charindex(',', @CardString)

while @i >= 1

begin

insert @temp values(left(@CardString, @i - 1))

set @CardString = substring(@CardString, @i + 1, len(@CardString) - @i)

set @i = charindex(',', @CardString)

end

if exists(select 1

from (

select case when charindex('-',a) > 0 then left(a,11) else a end as s,

case when charindex('-',a) > 0 then right(a,11) else a end as e

from @temp

) a

where @CardNo between s and e)

set @i= 1

else

set @i= 0

return @i

end

Go

--测试示例

declare @CardString varchar(1000)

set @CardString ='13300000000-13300001234,13300002230,13300002300,13300002302,13300004101-13300004204,13300004212,13300004310'

declare @CardNo varchar(1000)

set @CardNo = '13300000001'  --存在

select dbo.IsInCardString(@CardString,@CardNo) as result1

set @CardNo = '13300001235'  --不存在

select dbo.IsInCardString(@CardString,@CardNo) as result2

--运行结果

/*

result1

-----------

1

result2

-----------

0

*/

检查给定串是否存在于由区间及点集的结合内相关推荐

  1. C++检查给定数字是否为4的幂的算法实现(附完整源码)

    C++检查给定数字是否为4的幂的算法实现 C++检查给定数字是否为4的幂的算法实现完整源码(定义,实现,main函数测试) C++检查给定数字是否为4的幂的算法实现完整源码(定义,实现,main函数测 ...

  2. 数据库连接出错,请检查连接字串"的多种问题解决办法

    数据库连接出错,请检查连接字串"的多种问题解决办法   今天..有一个客户说..昨天重装完的2003系统后,,服务器上所有用到ACCESS数据库的网站,全都用不了了..但MSSQL可以用..., 动网 ...

  3. JavaScript如何判定一个给定的时间区间在哪些时间段范围内?

    作者 | 十方 来源 | https://segmentfault.com/a/1190000041958661 有这样的一个场景:给定一个时间区间,需要判定这个时间区间在哪些时间段范围内. 比如时间 ...

  4. php 使用strrpos检查字串是否存在

    strrpos( string $haystack, string $needle[, int $offset = 0] ) : int 返回字符串 haystack 中 needle 最后一次出现的 ...

  5. 检查给定数字是否为斐波那契数的Python程序

    Given a number and we have to check whether it is a Fibonacci number or not in Python? 给定一个数字,我们必须检查 ...

  6. c语言位运算符的使用_C语言程序使用位运算符检查给定数字是否为回文

    c语言位运算符的使用 Problem statement: Write a C program to check whether a number (binary representation) is ...

  7. 判断日期是否为周末 java_如何用Java检查给定的日期是否代表周末

    首先,显示当前日期:LocalDate date = LocalDate.now(); 现在,从上述日期(当前日期)中获取星期几:DayOfWeek day = DayOfWeek.of(date.g ...

  8. c语言哈密顿路径算法,用于检查给定图中是否存在哈密顿循环或路径的C ++程序...

    哈密顿循环是哈密顿路径,因此从哈密顿路径的最后一个顶点到第一个顶点有一条边(在图中).它在无向图中是一条路径,该路径恰好访问该图的每个顶点一次. 功能和目的:Begin 1.function isSa ...

  9. matlab里面sin函数是角度,应用matlab求函数f(x)=sin(x)/x^2+x*cos(x)在区间【1,9】内的极值点,并说明是 极大值点还是极小值点。...

    www.mh456.com防采集. 求函数极值,可以用copyfminsearch()极小值函2113数来解决.求函数极大值5261就求函数极4102小值的1653反函数. syms x v=int( ...

最新文章

  1. Vue子组件调用父组件方法并传参的5种方式:$emit触发、传入子组件function、访问父组件$parent.function、用inject关联父组件provide的方法、用window.fun
  2. 7.10 数据注解特性--NotMapped
  3. python制作adobe photoshop插件_Adobe Photoshop风格的后期处理和OpenCV
  4. toad for oracle xpert edition,Toad for oracle 软件产品模块对比,方便大家选型
  5. Java的迭代器—— Iterator
  6. 前端新手程序员不知道的 20个小技巧
  7. MyBatis接口代理
  8. 干货时间:聊聊DevOps下的技术系列之契约测试
  9. 《Puppet实战手册》——导读
  10. 全球活跃开发者不足 1500 万,业余爱好者和学生仅占四分之一
  11. pytorch迁移学习后使用微调策略再次提高模型训练结果
  12. 二维字符数组转字符串c语言,[求助] 怎样转换一个字符二维数组到一维数组~~~...
  13. SharePoint专家新闻轮转器WebPart----亲測力推之Web部件
  14. :将照片处理成绘画风格
  15. win2012故障转移mysql集群_在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群
  16. http缓存与cdn相关技术
  17. HDU - 2087 剪花布条(kmp)
  18. HTML5 css3 阴影效果
  19. 教你用Python 做PPT之制作动态图~做出来的效果高级又好看
  20. 定性与定量的单变量正态性检验

热门文章

  1. 制作启动U盘重装系统
  2. 腾讯T2大牛手把手教你,非科班的B站惊险之旅
  3. uni-app时间格式转换
  4. 打怪物小游戏,无聊打发时间
  5. int类型数组和bool类型数组互相转换
  6. Vue 源码之 mixin 原理
  7. bellman_ford算法 由边数限制的最短路
  8. 南华大学计算机学院软件工程双一流,南华大学计算机学院软件工程与网络工程两个专业喜获湖南省高校专业综合评价A级...
  9. 电子制作——一个电调的诞生之路
  10. 信号系统服务器,轨道交通信号系统知识介绍