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.查詢外部數(shù)據(jù)庫 Se
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.查詢外部數(shù)據(jù)庫
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.在查詢中指定排序規(guī)則
Select * From Table1 Order By Field1 COLLATE Chinese_PRC_BIN
為什么要指定排序規(guī)則呢?參見:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1633985
例,檢查數(shù)據(jù)庫中的Pub_Users表中是否存在指定的用戶:
Select Count(*) From Pub_Users Where [UserName]='admin' And [PassWord]='aaa' COLLATE Chinese_PRC_BIN
默認(rèn)比較是不區(qū)分大小寫的,如果不加COLLATE Chinese_PRC_BIN,那么密碼aaa與AAA是等效的,這當(dāng)然與實(shí)際不符.注意的是,每個條件都要指定排序規(guī)則,上例中用戶名就不區(qū)分大小寫.
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
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com