老天,怎么变是空白的? 只好重来。注:一段段的贴好了,发表后发现是一片白
Author:水如烟
有这个想法,但是也不会全力做它,只能是慢慢的完善。
不知SqlServer2008是怎么样的,别是又把这些心力白费了。
以.NET的String类为参考。
仅供参考,敬提意见(特别是一些关键函数) 示例1 示例2
为修改方便起见,每一函数独立成文,就算是只有一行代码。
USE
[
LzmTW
]
GO
CREATE SCHEMA [ String ] AUTHORIZATION [ dbo
GO
CREATE SCHEMA [ String ] AUTHORIZATION [ dbo
--
=============================================
-- Author: LzmTW
-- Create date: 20080110
-- Description: 字符串长度,包括尾部空格
-- =============================================
CREATE FUNCTION [ String ] . [ Len ]
(
@Value nvarchar ( max )
)
RETURNS int
-- Author: LzmTW
-- Create date: 20080110
-- Description: 字符串长度,包括尾部空格
-- =============================================
CREATE FUNCTION [ String ] . [ Len ]
(
@Value nvarchar ( max )
)
RETURNS int
--
===========================================================
-- Author: LzmTW
-- Create date: 20080111
-- Description: 返回一个字符串,它包含一个没有前导空格 (LTrim)、尾随空格 (RTrim)
-- 或既没有前导空格也没有尾随空格 (Trim)的指定字符串的副本。
-- ===========================================================
CREATE FUNCTION [ String ] . [ Trim ]
(
@Value nvarchar ( max )
)
RETURNS nvarchar ( max )
-- 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
-- Author: LzmTW
-- Create date: 20080110
-- Description: 确定字符串的开头是否与指定的字符串匹配
-- ===========================================================
CREATE FUNCTION [ String ] . [ StartWith ]
(
@Value nvarchar ( max )
, @Start nvarchar ( max )
)
RETURNS bit
--
===========================================================
-- Author: LzmTW
-- Create date: 20080110
-- Description: 确定字符串的结尾是否与指定的字符串匹配
-- ===========================================================
CREATE FUNCTION [ String ] . [ EndWith ]
(
@Value nvarchar ( max )
, @End nvarchar ( max )
)
RETURNS bit
-- 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
)
-- 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
)
--
=======================================================================================
-- Author:LzmTW
-- Create date:20080111
-- Description:返回搜索字符串在被搜索字符串中的匹配数。
-- =======================================================================================
CREATE FUNCTION [ String ] . [ CountOf ]
(
@Value nvarchar ( max )
, @Search nvarchar ( max )
, @IsVagueMode bit = 0
)
RETURNS int
-- Author:LzmTW
-- Create date:20080111
-- Description:返回搜索字符串在被搜索字符串中的匹配数。
-- =======================================================================================
CREATE FUNCTION [ String ] . [ CountOf ]
(
@Value nvarchar ( max )
, @Search nvarchar ( max )
, @IsVagueMode bit = 0
)
RETURNS int
--
=======================================================================================
-- Author:LzmTW
-- Create date:20080111
-- Description:返回与条件相匹配的第一个匹配字符串
-- =======================================================================================
CREATE FUNCTION [ String ] . [ Find ]
(
@Value nvarchar ( max )
, @Search nvarchar ( max )
, @IsVagueMode bit = 0
)
RETURNS nvarchar ( max )
-- 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 )
-- Author:LzmTW
-- Create date:20080111
-- Description:返回与条件相匹配的最后一个匹配字符串
-- =======================================================================================
CREATE FUNCTION [ String ] . [ FindLast ]
(
@Value nvarchar ( max )
, @Search nvarchar ( max )
, @IsVagueMode bit = 0
)
RETURNS nvarchar ( max )
--
================================================================================
-- 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 )
)
-- 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 )
)