SqlServer2005 尝试移植NET的String类
老天,怎么变是空白的??只好重来。注:一段段的贴好了,发表后发现是一片白 Author:水如烟 ? 有这个想法,但是也不会全力做它,只能是慢慢的完善。 仅供参考,敬提意见(特别是一些关键函数) 示例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 ) ????, @IsVagueMode ? bit ? = ? 0 ) RETURNS ? int ?07 [LzmTW].[String].[Find] -- ?=======================================================================================-- ?Author:LzmTW -- ?Create?date:20080111 -- ?Description:返回与条件相匹配的第一个匹配字符串 -- ?======================================================================================= CREATE ? FUNCTION ? [ String ] . [ Find ] ? ( ????? @Value ? 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 ) ????, @IsVagueMode ? bit ? = ? 0 ) RETURNS ? nvarchar ( max ) 09 [LzmTW].[String].[FindAll] -- ?================================================================================-- ?Author:LzmTW -- ?Create?date:20080111 -- ?Description:返回与条件相匹配的所有匹配字符串 -- ?================================================================================ CREATE ? FUNCTION ? [ String ] . [ FindAll ] ? ( ????? @Value ? nvarchar ( max ) ????, @IsVagueMode ? bit ? = ? 0 ) RETURNS ? @Table ? TABLE ? ( ???? [ Catch ] ? nvarchar ( max )) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 【MSSQLServer】 T-SQL完整整理
- 揭秘SQL Server 2014有哪些新特性(3)-可更新列存储聚集索引
- @@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT【通俗易懂】
- 数据库 – 数字对象标识符的最大长度?
- sql – 表值函数我的查询计划在哪里去了?
- SQlserver2005面试题
- sql-server – 如何搜索Sql Server 2008 R2存储过程的字符串
- sql – 查询从中继承的父级时获取行的源表的名称
- sql – postgres:在WHERE子句中使用CASE和ANY()
- sql-server – 与SQL服务器总结RollUP – 但最后一个摘要?