蓝派网(www.lan27.com)-精选网络资源,分享和交流! 文章首页站内搜索在线手册广告代码酷站欣赏万年历
您现在的位置: 蓝派网 >> 文章中心 >> 数据库 >> MS-SQL >> 正文

SQL Server 2005中使用CLR函数实现字符串排序

作者:佚名    文章来源:IT专家网, 林善茂    更新时间:2009-1-6 10:36:08

       伴随着SQL Server 2005 ,微软发布了公共语言运行库(CLR),允许开发人员和DBA能够利用SQL Server之外的托管代码。

  CLR为那些懂的.net开发语言,但是不懂的T-SQL语言的人,提供了一种实现方式。使用CLR,可以直接在SQL Server中创建存储过程、触发器,用户自定义函数,集合体和类型等等。在本文中,我们通过一个例子,来看看如何使用CLR函数,对输入的字符串进行分析、排序,最后得到排序后的字符串。

  假设储存在数据库表中的数据如下所示:

  apple,pear,orange,banana,grape,kiwi

  我们希望的结果排序如下所示:

  apple,banana,grape,kiwi,orange,pear

  我们可以写SQL Server函数来实现这一功能:解析字符串,将结果储存在一个临时表中,然后按指定顺序检索结果,并将字符串重新结合在一起。

  我们也可以编写一个简短的CLR函数,来实现同样的功能。接下来让我们来看看CLR函数具体是如何实现这一功能的。

  步骤1:启用CLR集成

  首先需要在SQL Server外围应用配置器中进行设置,确保SQL Server已经启用了CLR。如图1所示:

SQL Server 2005中使用CLR函数实现字符串排序(图一)
    
    图1:SQL Server 2005外围应用配置器

  选择“功能的外围应用配置器”,显示如图2所示界面:

SQL Server 2005中使用CLR函数实现字符串排序(图二)
    
    图2:功能的外围应用配置器
    
   
    确保“启用CLR集成”这一项打勾,然后点“确定”按钮。

  步骤2:编写CLR代码

  首先,我们需要做的是编写CLR代码。采用VB.net或者C#来写都可以,在这个例子中我们将使用VB.NET 。

  下面的范例代码中,创建了一个名为CLRFunctions的类,该类中包含了一个名为SortString的函数。SortString函数对输入的一个字符串变量进行排序,并返回一个排序后的字符串。

  第一步:使用内置的VB函数,把 “,”作为分隔符分割输入的字符串,得到一个字符串数组;

  第二步:采用Array.Sort,对数组中的数据进行排序列。这一部如果采用T-SQL来写的话,更为简单。

[1] [2] [3] 下一页


发表评论】【打印此文】【关闭窗口】【点击数:
★好玩的休闲小游戏★

本 栏 推 荐

本 栏 热 门

站 内 推 荐

图 文 推 荐