SqlServer 查询的几种方式以及数字函数、时间函数的应用总结(回归基础)

--语法:select * from 表名 *表示查询所有字段数据
select * from Class
select * from Student
select * from RankingList
--常量列
select 1,2,3
--计算列
select '班级:'+Name from Class
select Name,数字=1,Id%2 from Class where Id%2=0
--别名 1.别名=值 2.值 as 别名 3. 值 别名
select 班级名称=Name from Class
select Name as 班级名称 from Class
select Name 班级名称 from Class
--排序order by(默认升序 asc) 降序 desc
select * from Class order by Id 
select * from Class order by Id desc
select * from Class where Id%2=0 order by Id desc
--进行二次排序
select * from Student order by ClassId desc,Id asc
--top关键字:获取部分数据
select top 3 * from Class
--数字函数
select abs(-123) --abs函数取绝对值
select RAND() --产生0-1的随机数
select Convert(int,Rand()*11) --产生0-10的随机整数
--right函数
select right('abcdefgshjk',3) --获取右边第几位字符串 
select left('abcdefgshjk',2) --获取左边第几位字符串 
select right(left('abcdefgshjk',7),2) --截取
select ceiling(0.00000001) --向上取整
select floor(0.99999)--向下取整
select round(4.54,1)--四舍五入,参数二:保留几位小数
select power(3,2) --计算3的平方根
select sqrt(9) --计算开平方 9 的平方根 3
--字符串函数
select charindex('a','abcdefghijk') --输出1 起始位置是 1 没有找到就是0 ,不同于C# indexOf起始位置是 0 没有找到是 -1
select charindex('a','abcdefaghijk',2) --参数3:找第二个a出现的位置,没有找到就是0
select len('abcd') --获取字符串长度
select lower('a') --转小写
select upper('a') --转大写
select stuff('abcdefaghijk',2,3,'换成')   --a换成efaghijk 参数二:从哪开始删除 参数三:删除几个,参数四:替换的内容,如果不替换直接 写''字符串即可
select stuff('abcdefaghijk',2,3,'') --aefaghijk replace:删除替换
select replace('abcdfg','cd','CD') --把什么替换成什么 replace:查找替换
--时间函数
select getdate() --获取当前时间
select dateadd(year,10,'1993-3-5')--时间运算,year可以是month、day等 参数二:正数代表参数三的时间未来,负数代表参数三的时间过去 输出 2003-03-05 00:00:00.000
select datename(weekday,getdate())    --返回字符串 星期一
select datepart(weekday,getdate())    --返回数字(国外星期天是1)  1
select datediff(year,'1999-09-27',getdate()) --计算时间差,前面减后面,day、month、year甚至是分、秒都可以计算
posted @ 2020-08-03 23:56  CR7Ronaldo  Views(547)  Comments(0Edit  收藏  举报