这个方法比较简单用MicrosoftVisualBasic命名空间下强大的字符串处理函数就可以了
c#代码如下编译为BigConvertordll
复制代码 代码如下:
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
));
}
[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
));
}
};
部署代码如下
复制代码 代码如下:
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( 简体与繁体文的转换 )
简体与繁体文的转换