SQL Server技巧

          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

          ?

          posted on 2006-06-01 16:41 【Xine】中文站 閱讀(271) 評論(0)  編輯  收藏 所屬分類: SQL Server

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          常用鏈接

          留言簿(8)

          隨筆分類(40)

          隨筆檔案(40)

          文章分類(33)

          文章檔案(34)

          相冊

          BLOG 聯盟

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 额尔古纳市| 昭平县| 迁西县| 尼木县| 普兰店市| 皋兰县| 炎陵县| 三都| 绥宁县| 西畴县| 石台县| 涪陵区| 南部县| 留坝县| 观塘区| 本溪市| 临城县| 密云县| 兴城市| 松江区| 阜南县| 乌海市| 镇宁| 神农架林区| 中方县| 虞城县| 望奎县| 循化| 崇礼县| 南召县| 连云港市| 大同县| 遵义市| 和龙市| 汉阴县| 抚松县| 绍兴市| 饶平县| 普格县| 墨脱县| 祥云县|