1.Fun_Split 分割字符串,形成返回表

CREATE FUNCTION [dbo].[Fun_Split]
(
@Items VARCHAR(MAX),
@SplitStr VARCHAR(MAX)
)
RETURNS @SplitTable TABLE(Item VARCHAR(MAX))
AS
BEGIN
DECLARE @Split_Index INT=0;
DECLARE @Split_len INT=0;
SET @Items = RTRIM(LTRIM(@Items));
SET @Split_Index = CHARINDEX(@SplitStr,@Items);
SET @Split_len=LEN(@SplitStr);
WHILE(@Split_Index>=1)
BEGIN
INSERT INTO @SplitTable VALUES(LEFT(@Items,@Split_Index-1));
SET @Items = SUBSTRING(@Items,@Split_Index + @Split_len,LEN(@Items)-@Split_Index);
SET @Split_Index = CHARINDEX(@SplitStr,@Items);
END
IF(@Items<>'')
INSERT INTO @SplitTable VALUES(@Items);
RETURN
END

2.Fun_arrlen 分割字符串,返回长度

CREATE FUNCTION [dbo].[Fun_arrlen]
(
@Str varchar(max),
@SplitStr varchar(max)
)
RETURNS int
AS
begin
Declare @i Int
Set @i = (Len(@Str) - Len(Replace(@Str,@SplitStr,'')))/Len(@SplitStr) +1
Return(@i)
end

3.Fun_GetStrIndex 模拟数组获取值

CREATE FUNCTION [dbo].[Fun_GetStrIndex]
(
@Str varchar(max),
@SplitStr varchar(max),
@index int
)
RETURNS varchar(max)
AS
begin
declare @location int
declare @start int
declare @next int
declare @seed int set @str=ltrim(rtrim(@str))
set @start=0
set @next=0
set @seed=len(@SplitStr) set @location=charindex(@SplitStr,@str)
while @location<>0 and @index>@next
begin
set @start=@location+@seed
set @location=charindex(@SplitStr,@str,@start)
set @next=@next+1
end
if @location =0 select @location =len(@str)+1
return substring(@str,@start,@location-@start);
end

运行结果:

sql server 函数的更多相关文章

  1. SQL SERVER 函数大全[转]

    SQL Server 函数大全 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下 ...

  2. Sql Server 函数的操作实例!(执行多条语句,返回Select查询后的临时表)

    Sql Server 函数的操作实例!(执行多条语句,返回Select查询后的临时表) SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ==== ...

  3. Sql Server 函数的操作实例!(返回一条Select语句查询后的临时表)

    Sql Server 函数的操作实例!(返回一条Select语句查询后的临时表) SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUN ...

  4. Sql Server函数全解<五>之系统函数

    原文:Sql Server函数全解<五>之系统函数  系统信息包括当前使用的数据库名称,主机名,系统错误消息以及用户名称等内容.使用SQL SERVER中的系统函数可以在需要的时候获取这些 ...

  5. Sql Server函数全解<四>日期和时间函数

    原文:Sql Server函数全解<四>日期和时间函数   日期和时间函数主要用来处理日期和时间值,本篇主要介绍各种日期和时间函数的功能和用法,一般的日期函数除了使用date类型的参数外, ...

  6. SQL Server函数​---Union与Union All的区别

    SQL Server函数---Union与Union All的区别 如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字.union(或称 ...

  7. SQL Server 函数之日期格式化函数

    SQL Server 函数之日期格式化函数 高文龙关注0人评论612人阅读2017-09-23 13:47:07 SQL Server 函数之日期格式化函数 对于一些经常写SQL Server执行语句 ...

  8. sql server 函数的自定义

    创建用户定义函数.这是一个已保存 Transact-SQL 或公共语言运行时 (CLR) 例程,该例程可返回一个值.用户定义函数不能用于执行修改数据库状态的操作.与系统函数一样,用户定义函数可从查询中 ...

  9. SQL Server2008为表的某列设置默认值为SQL Server函数

      例如,设置SQL Server函数GETDATE()作为默认值:

  10. SQL Server函数​

    阅读目录 SQL Server函数---Union与Union All的区别 回到顶部 SQL Server函数---Union与Union All的区别 如果我们需要将两个select语句的结果作为 ...

随机推荐

  1. ORA-01078、ORA-01565、ORA-17503、ORA-29701

    OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - ...

  2. Drawable

    今天简单的介绍一下有关以下5中的应用: Statelistdrawable Layerdrawable Shapeddrawable Clipdrawable Animationdrawable 1. ...

  3. 关于TableVIew的上下滚动如何探测其边界

    UITableView is a subclass of UIScrollView, and UITableViewDelegate conforms to UIScrollViewDelegate. ...

  4. winform 表单正则表达式验证 示例(ValidationRule)

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  5. perl DBI 学习总结(转载)

    perl DBI 学习总结 源文地址:http://blog.csdn.net/like_zhz/article/details/5441946 DBI和DBD的不同关系模型: ########### ...

  6. Error (10028): Can't resolve multiple constant drivers for net "out2" at shiyan.v(14)解决办法

    //Error(10028):Can't resolve multiple constant drivers for net “ ” at **.v //两个进程里都有同一个条件判断的话,会产生并行信 ...

  7. 微软职位内部推荐-Senior SDE

    微软近期Open的职位: Position: Senior SDE-- Mobile Products Android/iOS/WP Senior Developer Contact Person: ...

  8. Factorial Trailing Zeroes

    Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in log ...

  9. java版大数相乘

    在搞ACM的时候遇到大数相乘的问题,在网上找了一下,看到了一个c++版本的 http://blog.csdn.net/jianzhibeihang/article/details/4948267 用j ...

  10. JPA学习---第十节:JPA中的一对一双向关联

    1.创建实体类,代码如下: 代码清单1: package learn.jpa.entity; import javax.persistence.CascadeType; import javax.pe ...