zl程序教程

您现在的位置是:首页 >  其他

当前栏目

SQL2005CLR函数扩展-繁简转换的实现代码

转换扩展代码 实现 函数
2023-06-13 09:15:02 时间

这个方法比较简单,用Microsoft.VisualBasic命名空间下强大的字符串处理函数就可以了
c#代码如下,编译为BigConvertor.dll
--------------------------------------------------------------------------------

复制代码代码如下:

usingSystem;
usingSystem.Data.SqlTypes;
usingMicrosoft.SqlServer.Server;

publicpartialclassUserDefinedFunctions
{
   [Microsoft.SqlServer.Server.SqlFunction]
   publicstaticSqlStringBigToGB(SqlStringinString)
   {
       if(inString.IsNull)returnSqlString.Null;
       return(Microsoft.VisualBasic.Strings.StrConv(inString.Value,Microsoft.VisualBasic.VbStrConv.SimplifiedChinese,0));
   }
    [Microsoft.SqlServer.Server.SqlFunction]
   publicstaticSqlStringGBToBig(SqlStringinString)
   {
       if(inString.IsNull)returnSqlString.Null;
       return(Microsoft.VisualBasic.Strings.StrConv(inString.Value,Microsoft.VisualBasic.VbStrConv.TraditionalChinese,0));
   }
};

--------------------------------------------------------------------------------
部署代码如下
--------------------------------------------------------------------------------
复制代码代码如下:

CREATEASSEMBLYBigConvertorFROM"E:/sqlclrdata/BigConvertor.dll"WITHPERMISSION_SET=UnSAFE;
--
go
CREATEFUNCTIONdbo.xfn_BigToGB 
(  
   @valuenvarchar(max)
)    
RETURNSnvarchar(max)
ASEXTERNALNAMEBigConvertor.UserDefinedFunctions.BigToGB
go
CREATEFUNCTIONdbo.xfn_GBToBig 
(  
   @valuenvarchar(max)
)    
RETURNSnvarchar(max)
ASEXTERNALNAMEBigConvertor.UserDefinedFunctions.GBToBig

go

--------------------------------------------------------------------------------
测试代码如下
--------------------------------------------------------------------------------
/*测试*/
selectdbo.xfn_GBToBig("简体与繁体文的转换")
--???繁?文的??Q
selectdbo.xfn_BigToGB("???繁?文的??Q")
--简体与繁体文的转换