在ADO使用SELECT语法二

深爱久爱Ti

深爱久爱Ti

2016-01-29 19:04

在ADO使用SELECT语法二,在ADO使用SELECT语法二
  接上一篇文章:

WHERE可以使用下面的BETWEEN、LIKE、IN运算子。

Between...And

Between...And判断表达式的值是否落在指定的范围之中。语法为:

expr Between value1 And value2

    表示如果expr的值介于value1和value2之间,则Between...And运算子会返回True;否则它会返回False。

    您也可以加上逻辑运算 Not expr Between value1 And value2,来判断相反的条件,即expr落在value1和 value 2的范围之外。

    如果expr、value1、或value2为Null时,则Between...And会返回Null值。

    您不能在 Between...And 运算子中使用通配符*,例如,您不能使用 100* 和 500* 来寻找介于1000至5000中的产品代号。

Like

Like寻找相符合的关键字。

Like跟随一个运算式,列出所要比较的字串或字符串文字。

    在一运算式中,您可以使用 Like 运算子将一字段资料和一字串运算式做一比较。您可以使用通配符*来找出相类似的资料,譬如Like "王*",则查询会返回所有字段中以 [王] 做为开头的资料。

Like后运算式可以使用的符号:



%:通配符,表示一个或多个字符,譬如LIKE jack% 将找到所有以jack为起头的字串文字,LIKE %jack%则找到包括jack的字串文字。


_:一个字符的通配符,譬如LIKE jack_ 将找到如jack1、jacka等字串文字,LIKE _jack_ 则找到如ajackb、cjackf等字串文字。

[x-y]:指定字符范围,譬如LIKE [a-c]jack 将找到如ajack1、bjack、cjack等字串文字。

[^x-y]:指定排除的字符范围,譬如LIKE [^a-c]jack 将不会找到如ajack1、bjack、cjack等字串文字。

下例中,会得到以字母A做为开头而其后接着介于B到G之间的任何字母和一个数字的资料:

Like "A[B-G]#"

IN

IN运算式,限定范围。

语法为:

expr [Not] In(value1, value2,…)

其中expr为运算式字段。value1, value2, …为指定的范围清单。

例如,您可以使用In运算子,来指定学生必须居住的城市,为广州市、深圳市、或汕头市:

SELECT *

FROM 学生

WHERE 城市 In ('广州市','深圳市','汕头市')

让我们看一个ASP程式使用这个SQL指令的例子。

    我们可以利用IN子句决定范围,譬如ASP程式rs24.asp如下,[SELECT 姓名,科目,分数 From 考试 Where 分数 In (SELECT 分数 From 考试 Where 分数=60)],使用IN找出分数大于或等于60分的记录:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "DBQ=" & Server.MapPath("ntopsamp.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

Set rs2 = Server.CreateObject("ADODB.Recordset")

SqlStr = "SELECT 姓名,科目,分数 From 考试 Where 分数 In (SELECT 分数 From 考试 Where 分数=60)"

rs2.Open SqlStr,conn1,1,1

Response.Write "<pIn: 低于60分不算"

Do while not rs2.EOF

Response.Write "<BR" & rs2("姓名") & " " & rs2("科目") & " 分数: " & rs2("分数")

rs2.MoveNext

Loop

rs2.Close

%

    以上的ASP程式rs24.asp,在用户端使用浏览器,浏览执行的结果,显示分数大于或等于60分的记录。

NOT IN

NOT IN运算式,表示不属于所指定的范围。

让我们看一个于ASP程式中使用这个SQL指令的例子。

    我们可以利用Not In子句决定不应显示的记录,譬如ASP程式rs24.asp如下,[SELECT 姓名,科目,分数 From 考试 Where 分数 Not In (SELECT 分数 From 考试 Where 分数=60)],使用IN找出分数不大于或等于60分的记录,即小于60分的记录:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "DBQ=" & Server.MapPath("ntopsamp.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

Set rs2 = Server.CreateObject("ADODB.Recordset")

SqlStr = "SELECT 姓名,科目,分数 From 考试 Where 分数 Not In (SELECT 分数 From 考试 Where 分数=60)"

rs2.Open SqlStr,conn1,1,1

Response.Write "<pNot In: 高于60分不算"

Do while not rs2.EOF

Response.Write "<B
展开更多 50%)
分享

猜你喜欢

在ADO使用SELECT语法二

ASP
在ADO使用SELECT语法二

在ADO使用SELECT语法六

ASP
在ADO使用SELECT语法六

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在ADO使用SELECT语法三

ASP
在ADO使用SELECT语法三

在ADO使用SELECT语法一

ASP
在ADO使用SELECT语法一

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在ADO使用SELECT语法四

ASP
在ADO使用SELECT语法四

在ADO使用SELECT语法五

ASP
在ADO使用SELECT语法五

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

保护隐私:Windows八大保密技巧

保护隐私:Windows八大保密技巧

编写Linux实用程序的艺术

编写Linux实用程序的艺术
下拉加载更多内容 ↓