SQLServer技巧集
来源:互联网 发布:苹果官方软件itunes 编辑:程序博客网 时间:2024/06/08 15:31
1.把某个字段重新生气序列(从1到n):
DECLARE @i int
Set @i = 0
Update Table1 Set @i = @i + 1,Field1 = @i
2.按成绩排名次
Update 成绩表
Set a.名次 = (
Select Count(*) + 1
From 成绩表 b
Where a.总成绩 < b.总成绩
)
From 成绩表 a
3.查询外部数据库
Select a.*
From OpenRowSet('Microsoft.Jet.OLEDB.4.0','c:/test.mdb';'admin';'',Table1) a
4.查询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
http://tech.ccidnet.com/art/1077/20041223/824989_1.html
- SQLServer技巧集
- SQLServer技巧集
- SQLServer技巧集
- SQLServer技巧集
- SQLServer技巧集
- SQLServer技巧集
- SQLServer技巧集
- SQLServer技巧集
- SQLServer技巧集
- SQLServer技巧集
- SQLServer技巧集
- SQLServer技巧集
- SQLServer技巧集
- SQLServer技巧集
- SQLSERVER实用经验技巧集
- SQLSERVER实用经验技巧集[二]
- SQLSERVER实用经验技巧集[三]
- SQLSERVER实用经验技巧集[一]
- 一条Update语句实现两列值的交换
- C++未眠夜----我学习C++的心路历程
- PHP学习第六节----数组的基础使用
- PHP学习第七节---- PHP结合HTML打印表格
- 使用prototype.js 的时候应该特别注意的几个问题
- SQLServer技巧集
- prototype.js常用函数及其用法
- Beyond 唱美国乡村民谣 《Blowing in the wind》等
- 随感-毕业与找工作
- 穹六人间
- 应用框架的设计与实现——.NET平台(7.事件通知服务.源码分析)
- 文本分析的三种典型设计模式
- Thinking in Java读书笔记――数组
- asp.net 在IIS下操作Excel文件权限不足的解决方法