1.简单查询, select * from tableName where .....
select name,age,weight from tableName where.....
这是基础也是起始,所有的查询大概由这么几部分组成
select 查询内(或者带函数比如类型转换、replace等等) from 表名 where 条件 排序等函数(可选)
2.查询空值 ..........where name is null 查询名字为空的数据,非空则是:is not null
3.限制查询返回的行数 select top 5 name,address from tableName 获取查询结果的前5条
select top percent 5 name,address from .... 获取查询结果的前5%的数据
4.查询结果排序 ........from studentName order by name 将查询结果根据name进行升序排序
..........from studentName order by name desc 将查询结果根据name进行降序排序
5.字符串函数:
charindex --- select charindex('a','asadb',i) 寻找第i个‘a’ 在 ‘asadb’ 里的起始位置,如果i=1,则第一个a的位置返回值=1 如果i=2 则返回值=3,如果超出最大数量则以最大数计算例如 i=4 则结果依旧为3。
len --- select len('adsd') 返回字符串长度,结果为4
upper --- select upper('aaa') 转换为大写,结果为‘AAA’
ltrim --- 清除左边的空格
rtrim --- 清除右侧的空格
right --- select rght('adsdfs',2) 从字符串右边起返回两个字符,结果 ‘fs’
substring --- select substring('asdfg',1,2) 从字符串左边起第1个字符开始截取一个长度为2的字符,结果=‘as’ 如果截取长度超出字符最大长度那么获取字符全部。
replace --- select replace('abab','a','c') 将所有的 ‘a’ 替换为 ‘c’ 结果=‘cbcb’
stuff --- select stuff('asdfgh',2,3,'呵呵') 从第二个字符开始删除长度为3的字符串并在该位置插入‘呵呵’ 结果=‘a呵呵gh’
6.日期函数
getdate --- select getdate() 获取当前系统日期 2018-12-07 09:12:27.453
dateadd --- select dateadd('mm',4,'01/02/2018') 将指定数值添加到指定类型日期上,结果=05/02/2018 注:mm为月份
datediff --- select datediff(mm,'01/02/2018','06/02/2018') 两个日期之间间隔时间,时间单位为指定类型,结果=5
datename --- select dataname(dw,'01/02/2018') 日期中指定日期部分的字符串形式 ,结果=星期二
datepart --- select datepart(day,'01/02/2018') 日期中指定日期部分的整数形式 结果=2
日期参数及缩写: year--yy,yyyy 年 weekday---dw,w 工作日 quarter---qq,q 一刻钟 hour---hh 小时 month---mm,m 月 minute---mi,n 分钟 dayofyear---dy,y 一年中的第几天 second---ss,s 秒 day-dd,d 天 millisecond---ms 毫秒 week---wk,ww 一星期
7.数学函数
rand() --- select rand() 返回0~1之间随机的float数
abs() --- select abs(-20) 取绝对值结果=20
ceiling --- select ceiling(43.5) 向上取整 结果=44
floor --- select floor(43.5) 向下取整 结果=43
power --- select power(5,2) 取幂值 结果=25
round --- select round(42.2324,1) 四舍五入为指定精度 结果=42.2000
sing --- select sing(-44) 整数返回1 负数返回-1 若为0则返回0
sqrt --- select sqrt(9) 取浮点表达式的平方根 结果=3
8.系统函数
convert --- select convert(int,'123') 转换数据类型 结果=123
current_user --- select current_user() 返回当前用户名称
datalength --- select datalength('测试') 返回表达式字节数 结果=2
host_name --- select host_name() 返回当前用户登录计算机名称
system_user --- select system_user() 返回当前登录用户名
user_name select user_name(1) 从给定的用户id返回用户名,从任意数据库中返回“dbo”