电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

如何在ADO使用SELECT语法二


发布日期:2022/5/22
 

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在用户端使用浏览器浏览执行的结果显示分数不大于或等于分的记录

上一篇:测试使用 ADOX方 便的查询表和字段

下一篇:多维数组