现在的位置: 首页 > 综合 > 正文

SQL2005CLR函数扩展-繁简转换

2013年10月10日 ⁄ 综合 ⁄ 共 1110字 ⁄ 字号 评论关闭

这个方法比较简单,用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


测试代码如下


抱歉!评论已关闭.