SqlServer2005 尝试移植NET的String类

老天,怎么变是空白的? 只好重来。注:一段段的贴好了,发表后发现是一片白

Author:水如烟  

有这个想法,但是也不会全力做它,只能是慢慢的完善。

不知SqlServer2008是怎么样的,别是又把这些心力白费了。

以.NET的String类为参考。

仅供参考,敬提意见(特别是一些关键函数) 示例1 示例2

为修改方便起见,每一函数独立成文,就算是只有一行代码。

USE   [ LzmTW ]
GO
CREATE   SCHEMA   [ String ]   AUTHORIZATION   [ dbo

01 [LzmTW].[String].[Len]

--  =============================================
--
 Author:    LzmTW
--
 Create date: 20080110
--
 Description:    字符串长度,包括尾部空格
--
 =============================================
CREATE   FUNCTION   [ String ] . [ Len ]  
(
     
@Value   nvarchar ( max )
)
RETURNS   int

02 [LzmTW].[String].[Trim]

--  ===========================================================
--
 Author:    LzmTW
--
 Create date: 20080111
--
 Description: 返回一个字符串,它包含一个没有前导空格 (LTrim)、尾随空格 (RTrim) 
--
                或既没有前导空格也没有尾随空格 (Trim)的指定字符串的副本。
--
 ===========================================================
CREATE   FUNCTION   [ String ] . [ Trim ]  
(
    
@Value   nvarchar ( max )
)
RETURNS   nvarchar ( max )

03 [LzmTW].[String].[StartWith]

--  ===========================================================
--
 Author:    LzmTW
--
 Create date: 20080110
--
 Description:    确定字符串的开头是否与指定的字符串匹配
--
 ===========================================================
CREATE   FUNCTION   [ String ] . [ StartWith ]
(
     
@Value   nvarchar ( max )
    ,
@Start   nvarchar ( max )
)
RETURNS   bit

04 [LzmTW].[String].[EndWith]

--  ===========================================================
--
 Author:    LzmTW
--
 Create date: 20080110
--
 Description:    确定字符串的结尾是否与指定的字符串匹配
--
 ===========================================================
CREATE   FUNCTION   [ String ] . [ EndWith ]
(
     
@Value   nvarchar ( max )
    ,
@End   nvarchar ( max )
)
RETURNS   bit

 05 [LzmTW].[String].[IndexArray] 关键的,易错的,效率瓶颈函数

--  ================================================================================
--
 Author:LzmTW
--
 Create date:20080110
--
 Description:返回子字符串在给定字符串中的匹配索引的集合(仅取最紧凑的匹配项)
--
 @IsVagueMode:是否在使用模糊查询方式 0否,1是
--
 Note:模糊查询中对单%无效,即@Search = N'%%%'时无效
--
 ================================================================================
CREATE   FUNCTION   [ String ] . [ IndexArray ]  
(
     
@Value   nvarchar ( max )
    ,
@Search   nvarchar ( max )
    ,
@IsVagueMode   bit   =   0
)
RETURNS  
@Table   TABLE  
(
     
[ ID ]   int   identity ( 1 , 1 PRIMARY   KEY
    ,
[ Index ]   int
    ,
[ Catch ]   nvarchar ( max )
    ,
[ Len ]   int
)

06 [LzmTW].[String].[CountOf]

--  =======================================================================================
--
 Author:LzmTW
--
 Create date:20080111
--
 Description:返回搜索字符串在被搜索字符串中的匹配数。
--
 =======================================================================================
CREATE   FUNCTION   [ String ] . [ CountOf ]  
(
     
@Value   nvarchar ( max )
    ,
@Search   nvarchar ( max )
    ,
@IsVagueMode   bit   =   0
)
RETURNS   int

 07 [LzmTW].[String].[Find]

--  =======================================================================================
--
 Author:LzmTW
--
 Create date:20080111
--
 Description:返回与条件相匹配的第一个匹配字符串
--
 =======================================================================================
CREATE   FUNCTION   [ String ] . [ Find ]  
(
     
@Value   nvarchar ( max )
    ,
@Search   nvarchar ( max )
    ,
@IsVagueMode   bit   =   0
)
RETURNS   nvarchar ( max )

08 [LzmTW].[String].[FindLast]

--  =======================================================================================
--
 Author:LzmTW
--
 Create date:20080111
--
 Description:返回与条件相匹配的最后一个匹配字符串
--
 =======================================================================================
CREATE   FUNCTION   [ String ] . [ FindLast ]  
(
     
@Value   nvarchar ( max )
    ,
@Search   nvarchar ( max )
    ,
@IsVagueMode   bit   =   0
)
RETURNS   nvarchar ( max )

09 [LzmTW].[String].[FindAll]

--  ================================================================================
--
 Author:LzmTW
--
 Create date:20080111
--
 Description:返回与条件相匹配的所有匹配字符串
--
 ================================================================================
CREATE   FUNCTION   [ String ] . [ FindAll ]  
(
     
@Value   nvarchar ( max )
    ,
@Search   nvarchar ( max )
    ,
@IsVagueMode   bit   =   0
)
RETURNS  
@Table   TABLE  
(
    
[ Catch ]   nvarchar ( max )
)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值