您的位置:首页 > 其它

数据查询

2015-11-04 19:33 309 查看
尊重别人是一种美德,受人尊重是一种幸福。

一、查询一部分

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


二、显示中文名

别名方案一
select msgAuthor as 留言人,msgContent as 留言内容
from Message
别名方案二
select 留言人=msgAuthor,留言内容=msgContent
from Message


三、将多列合并为一列

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


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

eg
select     *     ‘汉族’    as   ‘民族’
from   student


五、关于top关键字

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


六、Order by相关

默认按主键升序排序
select * from student
order by Gender desc

按照多列排序(先按年级,再按性别)
select * from student
order by GradeId asc,Gender desc


ASC:升序 DESC:降序

七、通配符

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

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

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

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

八、字符串函数

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

参数含义:

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

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

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

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

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


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

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


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

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


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

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


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

eg
select ltrim('                              生活,      ')
select rtrim('         生活,      ')


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


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

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


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

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


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

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


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

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


[b]九、日期函数
[/b]

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

    select getdate()

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

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


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

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


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

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


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

eg
select datepart(yy,getdate())


[b]十、数学函数[/b]

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

eg
select right(rand(),4)
Select rand()


(二)abs:取绝对值

eg
select abs(-10)
select abs(10)


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

eg
select ceiling(1.999991)


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

eg
select power(4,4)


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

eg
select round(42.564,1)


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

eg
select sign(20)


(七)sqrt()开平方

eg
select sqrt(9)


(八)floor:向下取整

eg
select floor(1.999999)


希望大家可以学到东西。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: