mssql2005

关注公众号 jb51net

关闭
首页 > 数据库 > mssql2005 > SQL2005CLR 繁简转换 代码

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

阅读全文