加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

SQLServer的几个技巧

发布时间:2018-08-22 22:00:08 所属栏目:站长百科 来源:站长网
导读:1.把某个字段重新生气序列(从1到n):DECLARE @i intSet @i = 0Update Table1 Set @i = @i + 1,Field1 = @i2.按成绩排名次Update 成绩表Set a.名次 = (Select Count(*) + 1From 成绩表 bWhere a.总成绩 b.总成绩)From 成绩表 a3.查询外部数据库Select a.*From
1.把某个字段重新生气序列(从1到n):DECLARE @i intSet @i = 0Update Table1 Set @i = @i + 1,Field1 = @i2.按成绩排名次Update 成绩表Set a.名次 = (Select Count(*) + 1From 成绩表 bWhere a.总成绩 < b.总成绩)From 成绩表 a3.查询外部数据库Select a.*From OpenRowSet('Microsoft.Jet.OLEDB.4.0','c:test.mdb';'admin';'',Table1) a4.查询Excel文件Select * From OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:test.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...Sheet1$5.在查询中指定排序规则Select * From Table1 Order By Field1 COLLATE Chinese_PRC_BIN为什么要指定排序规则呢?参见:http://www.delphibbs.com/delphibbs/dispq.asp?lid=1633985例,检查数据库中的Pub_Users表中是否存在指定的用户:Select Count(*) From Pub_Users Where [UserName]='admin' And [PassWord]='aaa' COLLATE Chinese_PRC_BIN默认比较是不区分大小写的,如果不加COLLATE Chinese_PRC_BIN,那么密码aaa与AAA是等效的,这当然与实际不符.注意的是,每个条件都要指定排序规则,上例中用户名就不区分大小写.6.Order By的一个小技巧Order By可以指定列序而不用指定列名,在下面的例子里说明它的用处(注意,第三列未指定别名)Select a.ID,a.Name,(Select Count(*) From TableB b Where a.ID=b.PID) From TableA a Order By 3

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读