数据查询

    尊重别人是一种美德,受人尊重是一种幸福。

一、查询一部分

1 eg
2     select  studentName  学生姓名,address  地址  from   student
3     where  studentNO=2332

二、显示中文名

1 别名方案一
2     select msgAuthor as 留言人,msgContent as 留言内容
3     from Message
4 别名方案二
5     select 留言人=msgAuthor,留言内容=msgContent
6     from Message

三、将多列合并为一列

1 eg
2     select   studentName+address   as   学生姓名和地址
3     where  student

四、常量列(一列都有这个值)

1 eg
2     select     *     ‘汉族’    as   ‘民族’
3     from   student

五、关于top关键字

限制只检索前3条数据
eg
     select top 3 * from student
按主键
获取Student表中的前20%的数据
能大概推断表中总共的数据数
eg
    select top 20 percent * from student

六、Order by相关

1 默认按主键升序排序
2 select * from student
3 order by Gender desc
4 
5 按照多列排序(先按年级,再按性别)
6 select * from student
7 order by GradeId asc,Gender desc

ASC:升序     DESC:降序

七、通配符

 

1、%:任意长度的任意字符,(包含0个)

 

2、_:任意的单个字符,只能是一个

 

3、[]:括号中所指定范围的一个字符

4、[^]:不在括号中所指定范围内的任意一个字符

八、字符串函数

(一)函数名称:CharIndex('str1','str2',index)//位置从开始

参数含义:

第一个参数:要查询的字符串

第二个参数:在哪个字符串中搜索

第三个参数:从str2的第几个字母开始搜索

注意点:如果在str2中没有找到str1,那么返回

1 eg
2     select charindex('s','S1是S2的基础,所以大家好好学',2)

(二)len():获取小括号中字符串的长度,空格也算一个字符长度

1 eg
2     select len('希望我们都好好的')

--注意点:如果内容以多个空格结尾,那么结尾的多个空格,是不计算长度的

1 eg
2     select len('我们都是好孩子                                        ')

(三)upper():将括号中出现的英文全部转换成大写

1 eg
2     select upper('i can speak english.')
3     select lower('I HAVE A DREAM')
4     

(四)LTrim():清除括号中内容左边的空格(left:right)

1 eg
2     select ltrim('                              生活,      ')
3     select rtrim('         生活,      ')
1 --既想移除左边空格,也想移除右边空格
2 select rtrim(ltrim('         生活不是林黛玉,      '))
3 select ltrim(rtrim('   你还好吧!   '))

(五)substring('字符串',截取的位置,截取的长度)

1 eg
2     select substring('我是中国人,我爱自己伟大的祖国,真的',6,1)

(六)right():从字符串右边返回指定类型的字符

1 eg
2     select left('大家今天好像都没有交日记本,我去',3)

 

(七)replace('str1','要替换的字符','目标字符'):

1 eg
2     select replace('周杰伦,残疾人,','残疾','')

 

(八)stuff('字符串',删除的起始位置,删除的长度,'插入的字符串')

1 eg
2         elect stuff('我爱你中国,我爱你故乡',4,2,'北京')

 

九、日期函数

(一)getdate():获取当前日期和时间

 

    select getdate()

(二)dateadd(按年/月/日添加,增量,时间)

1 eg
2     select dateadd(yy,100,'2014-8-6')
3     select dateadd(year,-20,getdate())

(三)datediff(按年/月/日求差,小时间,大时间)

1 eg
2     select datediff(year,'1998-01-01',getdate())

(四)datename:获取某个日期是星期几

1 eg
2     select datename(dw,'2014-08-06')

(五).datepart(mm,日期):获取指定日期对应的年/月/日部分  

1 eg
2     select datepart(yy,getdate())

十、数学函数

(一)rand():产生一个到之间的随机数

1 eg
2     select right(rand(),4)
3     Select rand()

(二)abs:取绝对值

1 eg
2     select abs(-10)
3     select abs(10)

(三)ceiling:天花板,你要看天花板,抬头,向上取整

1 eg
2     select ceiling(1.999991)

 

(四)power(5,2)求幂值

1 eg
2     select power(4,4)

 

(五)round:将一个数字四舍五入到指定精度

1 eg
2     select round(42.564,1)

 

(六)sign:如果括号中写的是一个正数,返回,如果是负数,返回-1

1 eg
2     select sign(20)

 

(七)sqrt()开平方

1 eg
2     select sqrt(9)

 

(八)floor:向下取整

1 eg
2     select floor(1.999999)

 

希望大家可以学到东西。

 

posted @ 2015-11-04 19:33  葉子。  阅读(268)  评论(3编辑  收藏  举报