熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

如何在ADO使用SELECT語法二

2013-11-15 14:39:59  來源: SQL Server 

  WHERE可以使用下面的BETWEENLIKEIN運算子
  
  BetweenAnd
  
  BetweenAnd判斷表達式的值是否落在指定的范圍之中語法為
  
  expr Between value And value
  
  表示如果expr的值介於value和value之間則BetweenAnd運算子會返回True否則它會返回False
  
  您也可以加上邏輯運算 Not expr Between value And value來判斷相反的條件即expr落在value和 value 的范圍之外
  
  如果exprvalue或value為Null時則BetweenAnd會返回Null值
  
  您不能在 BetweenAnd 運算子中使用通配符*例如您不能使用 * 和 * 來尋找介於中的產品代號
  
  Like
  
  Like尋找相符合的關鍵字
  
  Like跟隨一個運算式列出所要比較的字串或字符串文字
  
  在一運算式中您可以使用 Like 運算子將一字段資料和一字串運算式做一比較您可以使用通配符*來找出相類似的資料譬如Like 王*則查詢會返回所有字段中以 [王] 做為開頭的資料
  
  Like後運算式可以使用的符號
  
  
  %通配符表示一個或多個字符譬如LIKE jack% 將找到所有以jack為起頭的字串文字LIKE %jack%則找到包括jack的字串文字
  
  _一個字符的通配符譬如LIKE jack_ 將找到如jackjacka等字串文字LIKE _jack_ 則找到如ajackbcjackf等字串文字
  
  [xy]指定字符范圍譬如LIKE [ac]jack 將找到如ajackbjackcjack等字串文字
  
  [^xy]指定排除的字符范圍譬如LIKE [^ac]jack 將不會找到如ajack
  bjackcjack等字串文字
  
  下例中會得到以字母A做為開頭而其後接著介於B到G之間的任何字母和一個數字的資料
  
  Like A[BG]#
  
  IN
  
  IN運算式限定范圍
  
  語法為
  
  expr [Not] In(value value…)
  
  其中expr為運算式字段value value …為指定的范圍清單
  
  例如您可以使用In運算子來指定學生必須居住的城市為廣州市深圳市或汕頭市
  
  SELECT *
  
  FROM 學生
  
  WHERE 城市 In (廣州市深圳市汕頭市)
  
  讓我們看一個ASP程式使用這個SQL指令的例子
  
  我們可以利用IN子句決定范圍譬如ASP程式rsasp如下[SELECT 姓名科目分數 From 考試 Where 分數 In (SELECT 分數 From 考試 Where 分數
  =)]使用IN找出分數大於或等於分的記錄
  
  %
  
  Set conn = ServerCreateObject(ADODBConnection)
  
  connOpen DBQ= & ServerMapPath(ntopsampmdb) & ;Driver=
  {Microsoft Access Driver (*mdb)};DriverId=;FIL=MS Access;
  
  Set rs = ServerCreateObject(ADODBRecordset)
  
  SqlStr = SELECT 姓名科目分數 From 考試 Where 分數 In (SELECT 分數
  From 考試 Where 分數=)
  
  rsOpen SqlStrconn
  
  ResponseWrite pIn: 低於分不算
  
  Do while not rsEOF
  
  ResponseWrite BR & rs(姓名) & & rs(科目) & 分數: &
  rs(分數)
  
  rsMoveNext
  
  Loop
  
  rsClose
  
  %
  
  以上的ASP程式rsasp在用戶端使用浏覽器浏覽執行的結果顯示分數大於或等於分的記錄
  
  NOT IN
  
  NOT IN運算式表示不屬於所指定的范圍
  
  讓我們看一個於ASP程式中使用這個SQL指令的例子
  
  我們可以利用Not In子句決定不應顯示的記錄譬如ASP程式rsasp如下[SELECT 姓名科目分數 From 考試 Where 分數 Not In (SELECT 分數 From 考試 Where 分數=)]使用IN找出分數不大於或等於分的記錄即小於分的記錄
  
  %
  
  Set conn = ServerCreateObject(ADODBConnection)
  
  connOpen DBQ= & ServerMapPath(ntopsampmdb) & ;Driver=
  {Microsoft Access Driver (*mdb)};DriverId=;FIL=MS Access;
  
  Set rs = ServerCreateObject(ADODBRecordset)
  
  SqlStr = SELECT 姓名科目分數 From 考試 Where 分數 Not In (SELECT 分
  數 From 考試 Where 分數=)
  
  rsOpen SqlStrconn
  
  ResponseWrite pNot In: 高於分不算
  
  Do while not rsEOF
  
  ResponseWrite BR & rs(姓名) & & rs(科目) & 分數: &
  rs(分數)
  
  rsMoveNext
  
  Loop
  
  rsClose
  
  %
  
  以上的 ASP程式rsasp在用戶端使用浏覽器浏覽執行的結果顯示分數不大於或等於分的記錄
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22147.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.