SQL2005CLR函数扩展-繁简转换

这个方法比较简单,用Microsoft.VisualBasic命名空间下强大的字符串处理函数就可以了

 

c#代码如下,编译为BigConvertor.dll

 


 

 

using System;

using System.Data.SqlTypes;

using Microsoft.SqlServer.Server;

 

public partial class UserDefinedFunctions

{

    [Microsoft.SqlServer.Server.SqlFunction ]

    public static SqlString BigToGB(SqlString inString)

    {

        if (inString.IsNull) return SqlString .Null;

        return (Microsoft.VisualBasic.Strings .StrConv(inString.Value, Microsoft.VisualBasic.VbStrConv .SimplifiedChinese, 0));

    }

     [Microsoft.SqlServer.Server.SqlFunction ]

    public static SqlString GBToBig(SqlString inString)

    {

        if (inString.IsNull) return SqlString .Null;

        return (Microsoft.VisualBasic.Strings .StrConv(inString.Value, Microsoft.VisualBasic.VbStrConv .TraditionalChinese, 0));

    }

};


部署代码如下

 


 

 

CREATE ASSEMBLY BigConvertor FROM 'E:/sqlclrdata/BigConvertor.dll' WITH PERMISSION_SET = UnSAFE;

--

go

CREATE FUNCTION dbo. xfn_BigToGB 

(  

    @value nvarchar ( max )

)    

RETURNS nvarchar ( max )

AS EXTERNAL NAME BigConvertor. UserDefinedFunctions. BigToGB

go

CREATE FUNCTION dbo. xfn_GBToBig 

(  

    @value nvarchar ( max )

)    

RETURNS nvarchar ( max )

AS EXTERNAL NAME BigConvertor. UserDefinedFunctions. GBToBig

 

go


测试代码如下


 

 

/* 测试 */

select dbo. xfn_GBToBig( ' 简体与繁体文的转换 ' )

-- 簡體與繁體文的轉換

select dbo. xfn_BigToGB( ' 簡體與繁體文的轉換 ' )

-- 简体与繁体文的转换

 

 

 

 

 

posted on 2009-05-12 17:23  代码王子  阅读(94)  评论(0编辑  收藏  举报

导航