欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-10-31 10:00:04
这个方法比较简单,用microsoft.visualbasic命名空间下强大的字符串处理函数就可以了c#代码如下,编译为bigconvertor.dll----------...

这个方法比较简单,用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( ' 簡體與繁體文的轉換 ' )
-- 简体与繁体文的转换