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】中文站 閱讀(278) 評論(0)  編輯  收藏 所屬分類: SQL Server

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(8)

          隨筆分類(40)

          隨筆檔案(40)

          文章分類(33)

          文章檔案(34)

          相冊

          BLOG 聯盟

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 宜都市| 临洮县| 波密县| 安图县| 麦盖提县| 延长县| 云南省| 余姚市| 丹寨县| 古丈县| 应用必备| 炎陵县| 福贡县| 奇台县| 嫩江县| 庆安县| 辽宁省| 连城县| 山阴县| 扎赉特旗| 惠州市| 濉溪县| 乐业县| 衡南县| 莒南县| 三台县| 陆川县| 宿迁市| 科技| 清水县| 陇南市| 绍兴市| 澄江县| 平顶山市| 哈尔滨市| 永福县| 开江县| 赤城县| 台山市| 大新县| 岑溪市|