Sql中常用语句及通配符的介绍
2010-06-21 13:29
417 查看
我们经常会需要通过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 表名
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 表名
相关文章推荐
- Sql中常用语句及通配符的介绍
- 第五篇、常用的SQL语句和函数介绍
- 常用sql语句
- mysql用户管理、常用sql语句、mysql数据库备份恢复
- 常用的SQL语句两个
- postgre- 常用基本sql 语句
- 常用的Sql语句
- SQL常用语句
- 常用 SQL 语句
- 随便一写 , 一些常用ssl框架sql 语句
- 种子张的SQL教程(转)作者:blogcat 日期:2007-11-21 20:42:01 注:红色标识为常用语句(唉,写了一天了,那个累呀!) 转自种子张的博客
- 常用的sql语句集锦
- [转]精妙SQL语句介绍
- 常用sql查询语句
- 常用SQL语句收集
- SQL Server 数据库管理常用的SQL和T-SQL语句
- 常用SQL语句
- Oracle 的 Sql*Plus 常用命令介绍
- 常用SQL语句汇总——基础
- Mysql学习总结(1)——常用sql语句汇总