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( ' 簡體與繁體文的轉換 ' )
    -- 简体与繁体文的转换