关于SQLserver2005的特性,我在下边给大家介绍下。首先给出T-SQL脚本。

建立一张测试表:
- CREATE TABLE TestTable (
 - Column1 varchar(1),
 - Column2 int
 - )
 
加入一些测试数据:
- INSERT INTO TestTable VALUES ('A', 1);
 - INSERT INTO TestTable VALUES ('A', 1); -- 重复
 - INSERT INTO TestTable VALUES ('A', 2);
 - INSERT INTO TestTable VALUES ('B', 1);
 - INSERT INTO TestTable VALUES ('B', 2);
 - INSERT INTO TestTable VALUES ('B', 2); --重复
 - INSERT INTO TestTable VALUES ('C', 2);
 
使用sqlserver2005新特性删除重复记录:
- DELETE
 - FROM TestTable
 - WHERE TestTable.%%lockres%%
 - NOT IN (SELECT MIN(b.%%lockres%%)
 - FROM TestTable b
 - GROUP BY b.column1, b.Column2);
 
sqlserver2008新特性删除重复记录:
- DELETE
 - FROM TestTable
 - WHERE TestTable.%%physloc%%
 - NOT IN (SELECT MIN(b.%%physloc%%)
 - FROM TestTable b
 - GROUP BY b.column1, b.Column2);
 
当然了如果TestTable 具备主键(假设主键为ID且identity(1,1)),我们可以通过传统的T-SQL语句获取不重复的记录:
- --建立主键
 - alter table TestTable with nocheck add
 - id int identity(1,1) primary key
 - go
 - --取唯一记录
 - select min(ID)from TestTable
 - group by column1, column2
 - go
 
SQLSERVER2005随机取数据:
- select top 3 * from TestTable order by newid()
 
上述语句每次从TestTable内取出的3条随机记录。
SQLSERVER2005 row_number 函数:
该函数主要用于sql分页方面,给出简单范例代码:
- select * from(
 - select id, column1, column2, row_number() OVER(order by id desc ) as row from TestTable
 - ) a
 - where row between 1 and 3
 
这里id为 TestTable 的自增主键,每次按主键id降序后取前三条数据行。
查看SQLSERVER2005版本:
- SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition'
 
这里给出不同版本的SQLSERVER2005版本:
RTM版:
sp3版:
SQLSERVER2005所有版本:
发行版Sqlservr.exe
RTM2005.90.1399
SQL Server 2005 Service Pack 12005.90.2047
SQL Server 2005 Service Pack 22005.90.3042
SQL Server 2005 Service Pack 32005.90.4035
***,希望本文可以给您带来帮助。
原文:http://www.cnblogs.com/ryanding/archive/2011/02/22/1961278.html
                网页题目:SQLserver2005部分特性小结
                
                当前网址:http://www.csdahua.cn/qtweb/news28/357228.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网