Sql中常用语句及通配符的介绍

我们经常会需要通过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初学者学习,对于有数据库开发经验的,也可做为一种资料以做索引备查吧。 
                  sql截取金额字段小数位语句:

select 金额字段,convert(varchar,金额字段) as 转换文本后,
charindex('.',convert(varchar,金额字段)) as 小数位置,
(len(convert(varchar,金额字段))) as 截取长度,
substring(convert(varchar,金额字段),charindex('.',convert(varchar,金额字段)),(len(convert(varchar,金额字段)))) as 截取后的值 

from 表名

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值