Create  FUNCTION [dbo].[SplitIndex]
(
@str AS VARCHAR(max),
@Index AS INT,
@SplitChar AS VARCHAR(10) = '/'
)
RETURNS VARCHAR(50)
AS
BEGIN
DECLARE @ReturnStr varchar(50) --待分拆的字符串
DECLARE @tab TABLE(id int IDENTITY(1,1), col varchar(max)) --建立临时表保存分割后的字符
DECLARE @splitlen INT
SET @splitlen = LEN(@SplitChar+'a')-2
WHILE CHARINDEX(@SplitChar,@str)>0
BEGIN
INSERT @tab VALUES(LEFT(@str,CHARINDEX(@SplitChar,@str)-1))
SET @str = STUFF(@str,1,CHARINDEX(@SplitChar,@str)+@splitlen,'')
END
INSERT @tab VALUES(@str)
SELECT @ReturnStr = col FROM @tab WHERE id = @Index
IF (@ReturnStr IS NULL)
BEGIN
SET @ReturnStr = ''
END
RETURN @ReturnStr
END

示例代码:

SELECT [dbo].[SplitIndex]('1.5oz/1.0oz',1,'/')
SELECT [dbo].[SplitIndex]('1.5oz/1.0oz',2,'/')

PCB MS SQL 将字符串分割,并指定索引返回字符串(标量函数)的更多相关文章

  1. PCB MS SQL 排序应用---SQL相邻数据区间值求解

    其中一篇 博文中有写<PCB MS SQL 排序应用---相邻数据且相同合并处理>此篇有也应相用也同的技巧,实现相邻数据区间值求解 示例: 原数据:处理前 求出区间值:处理后 SQL 代码 ...

  2. Python:字符串的分片与索引、字符串的方法

    这是关于Python的第3篇文章,主要介绍下字符串的分片与索引.字符串的方法. 字符串的分片与索引: 字符串可以用过string[X]来分片与索引.分片,简言之,就是从字符串总拿出一部分,储存在另一个 ...

  3. Python入门:字符串的分片与索引、字符串的方法

    这是关于Python的第3篇文章,主要介绍下字符串的分片与索引.字符串的方法. 字符串的分片与索引: 字符串可以用过string[X]来分片与索引.分片,简言之,就是从字符串总拿出一部分,储存在另一个 ...

  4. PCB MS SQL表值函数与CLR 表值函数 (例:字符串分割转表)

    将字符串分割为表表经常用到,这里 SQL表值函数与CLR  表值函数,两种实现方法例出来如下: SELECT * FROM FP_EMSDB_PUB.dbo.SqlSplit('/','1oz/1.5 ...

  5. PCB MS SQL 标量函数与表值函数(CLR) 实现文件与目录操作

    一.C#写SQL SERVER(CLR)实现文件操作 标量函数: 文件移动 ,复制,检测文件存在,写入新文件文本,读取文本,创建目录,删除目录,检测目录是否存在 /// <summary> ...

  6. PCB MS SQL 标量函数(CLR) 实现DataTable转HTML的方法

    一.准备需转为HMLT字符串的DataTable数据 在数据库中执行一段SQL返回的数据 需转换后的HTML的文本 <html ><head></head>< ...

  7. PCB MS SQL 存储过程(CLR) 实现Json转DataTable表的方法

    一.准备需转为DataTable的json字符串 原json字符串数据 [{"TechName":"ECN","TechNo":" ...

  8. PCB MS SQL 标量函数(CLR) 实现DataTable转Json方法

    一.准备需转为json字符串的DataTable数据 在数据库中执行一段SQL返回的数据 需转换后的JSON字符串的效果 [{"TechName":"开料",& ...

  9. PCB MS SQL 标量函数(CLR) 实现Socket发送消息

    在PCB业务系统中,数据库中的数据总是被应用端主动连接数据库并操作数据,是否想过可以让数据库主动的将数据推送出去呢! 答应其实是可以的.比如有这样的应用场景! 当SQL SERVER数据库满足某个条件 ...

随机推荐

  1. java_io学习_编码

    package io; public class encodingDemo{ public static void main(String[] args) throws Exception{ // T ...

  2. CAD绘制一个角度标注(com接口VB语言)

    主要用到函数说明: _DMxDrawX::DrawDimAngular 绘制一个角度标注.详细说明如下: 参数 说明 DOUBLE dAngleVertexX 角度标注的顶点的X值 DOUBLE dA ...

  3. matlab数值数据的表示方法,输出数据以及相关函数

    数据类型的分类: 1.整型 无符号整型和带符号整形 带符号整形的最大值是127 >>x=int8(129) 输出结果是x=127 >>x=unit8(129) 输出结果是x=1 ...

  4. Oracle最大游标数控制

    /************************************************************************ ********* Oracle最大游标数控制 ** ...

  5. shell 读取目录指定文件并截取拼接

    shell脚本读取指定文件并拼接成指定的版本信息

  6. bx值

    bx值 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Problem De ...

  7. JSON中getInt()和optInt()的区别

    最近在用org.json这个包解析json的时候,发现谷歌提供两种不同的数据类型获取方法,比如说针对Int类型,提供了getInt()和optInt()两种方式,谷歌文档中的说明如下: 那么这两者有什 ...

  8. springCloud学习-高可用的分布式配置中心(Spring Cloud Config)

    1.简介 高可用的分布式配置中心,即将配置中心做成一个微服务,将其集群化,从而达到高可用.config-server和config-client向eureka-server注册,且将config-se ...

  9. Linux 下android环境的配置

    Linux 下android环境的配置 1. JDK下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads- ...

  10. 【ACM】poj_1579_Function Run Fun_201308121654

    Function Run FunTime Limit: 1000MS  Memory Limit: 10000K Total Submissions: 14940  Accepted: 7736 De ...