●在使用ASP中,我们经常会需要通过Sel...... 在使用ASP中,我们经常会需要通过Select命令从数据库(如Access、Sql Server等)中选取数据,其基本语法构成如下: Select 列#1,列#2,...,列#n From 表#1,表#2,...,表#n Where 条件 Group By 列#1,列#2,...,列#n Having 条件 Order By 列#1,列#2,...,列#n 这里,我们只简单介绍一下Select命令中的Where条件判断的使用方法。 一般如果只想选取数据表中的部分数据时,此时可以在Select中加上选择的条件,即加上Where子句。在Where子句中,以比较运算符来构成选择的条件,以下是Where子句中使用的比较运算符: = 等于 !=或<> 不等于 > 大于 < 小于 >= 大于等于 <= 小于等于 Between(Not Between) 介于(不介于) In(Not In) 列值是否存在于所列的列表内 Is Null(Is Not) 列值是否为Null 可以一次指定数个条件,每个条件间以逻辑运算符Not、And或者Or连接。 我们举例来介绍一下: 1、从数据表Reg表中选取用户积分值(字段expvalue,Int数值型)为1000分的用户记录: Select * From Reg Where expvalue = 1000 2、从数据表Reg表中选取用户性别(字段usex,Bin逻辑型)为男生,积分值(字段expvalue,Int数值型)大于等于1000分的用户记录: Select * From Reg Where usex = 'T' And expvalue >= 1000 3、从数据表Reg表中选取用户级别(字段ugrade,Varchar文本型)为管理员,或者用户级别为版主的用户记录: Select * From Reg Where ugrade = '管理员' Or ugrade = '版主' 4、从数据表Reg表中选取用户级别(字段ugrade,Varchar文本型)为管理员,或者用户级别为版主,同时积分值不等于0分的用户记录: Select * From Reg Where (ugrade = '管理员' Or ugrade = '版主') And expvalue != 0 5、从数据表Reg表中选取积分值大于1000分,小于2000的用户记录: Select * From Reg Where expvalue Between 1000 And 2000 6、从数据表Reg表中选取联系地址(字段address,Varchar文本型)为上海市与北京市的用户记录: Select * From Reg Where SubString(address,1,3) In ('上海市','北京市') 说明,SubStrin为Sql Server函数,如果使用Access,则改用函数Mid。 7、从数据表Reg表中选取MSN(字段umsn,Varchar文本型)为Null的用户记录: Select * From Reg Where umsn Is Null 如果字段非Null,即为空值,则Where子句改成umsn='' 另外,在Where子句中,还可以对datetime、char、varchar字段类型的列用Like子句配合通配符选取那些“很像...”的数据记录,以下是可使用的通配符: % 零或者多个字符 _ 单一任何字符(下划线) \ 特殊字符 [] 在某一范围内的字符,如[0-9]或者[aeth] [^] 不在某范围内的字符,如[^0-9]或者[^aeth] 举例说明: 'AB%' “AB”后接任何字符的字串,如AB、AB89、IKABKCE '_AB' “AB”之前可为任一字符,如tAB、9AB 'AB[a-cdf]' “AB”后接a、b、c、d、f任一字符的字串 从数据表Reg表中选取注册用户名(字段uname,Varchar文本型)为5DM的用户记录: Select * From Reg Where uname Like '%5DM%' 这些都是Select中Where子句基础的使用介绍。仅适合Sql初学者学习,对于有数据库开发经验的,也可做为一种资料以做索引备查吧。 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-29 13:18 , Processed in 0.187598 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.