前言
在SQL server中常用5类的函数:字符串函数,日期函数,数学函数,系统函数,聚合函数。
字符串函数
--常用的字符串函数
1.charindex() -- 字符索引
2.len() -- 长度
3.upper() -- 大写
4.Ltrim() -- 左裁减
5.Rtrim() -- 右裁减
6.Left() -- 左
7.Right() -- 右
8.stuff() -- 删除并添加
9.replace() -- 查找并替换
/* charindex() 用来查询指定字符串在另一个字符串中的起始位置
* 从左往右找的顺序,如果没有找到返回0
*/
--两个参数,不指定开始位置,默认从1开始
select charindex('sjdy','www.sjdy.com') --返回 5
--三个参数,第一个查询内容,第二个数据源,第三个指定开始位置
select charindex('sjdy','www.sjdy.com',3) --返回 5
-- len() 求字符串长度
select len('www.baidu.com') --返回 13
-- left() 从左开始截取指定长度的字符串
select left('www.baidu.com',3) --返回 www
--right() 从右开始截取指定长度的字符串
select right('www.baidu.com',3) --返回 com
--replace() 查找并替换
select replace('我爱我的家乡','家乡','祖国') --返回 '我爱我的祖国'
--stuff() 删除指定长度字符,并插入新的字符
--数据源,开始位置,删除几个字符,插入新的数据
select stuff('ABCDEF',2,3,'我和我的祖国') --返回 'A我和我的祖国EF'
select stuff('ABCDEF',2,3,'') --返回 'AEF'
--upper() 将字符串转换为大写
select upper('sql server课程') --返回 'SQL SERVER课程'
--Ltrim() 清除字符左边的空格
select Ltrim(' SQL') --返回 'SQL'
--Rtrim() 清除字符右边的空格
select Rtrim('SQL ') --返回 'SQL'
日期函数
--日期部分参数及缩写
1.yy,yyyy --年 (year)
2.qq,q --季度 (quarter)
3.mm,m --月 (month)
4.dy,y --一年中的某一天 (dayofyear)
5.dd,d --日 (day)
6.wk,ww --周 (week)
7.dw,w --星期 (weekday)
8.hh --小时 (hour)
9.mi,n --分钟 (minute)
10.ss,s --秒 (second)
11.ms --毫秒 (millisecond)
--getdate() 获取当前系统日期
select getDate() --返回 当前系统时间(2020-07-10 7:36:15.986)
--dateadd() 添加指定日期后的日期
select dateAdd(mm,4,'4/10/2020') --返回 修改后的日期(8/10/2020)
--dateDiff() 获取时差
select dateDiff(dy,'4/10/2020','4/19/2020') --返回 时差(9)
--datename() 获取指定日期部分的字符串形式
select datename(dw,'01/01/2020') --返回 字符串(星期三)
--datePart() 获取指定日期部分的整数形式
select datePart(day,'01-01-2020') --返回 数字(3)
数学函数
--常用数学函数
1.rand() --返回0到1之间的随机float值
2.abs() --获取绝对值
3.ceiling() --向上取整,
4.floor() --向下取整
5.power() --取数值表达式的幂
6.round() --取数值表达式四舍五入为指定精度
7.sign() --对于整数返回+1,对于负数返回-1,对于0则返回0
8.sqrt() --取浮点数表达式的平方根
--获取随机数
select rand() --返回0~1之间的浮点数(0.522138223779467)
--获取绝对值
select abs(-123) --返回 123
--向上取整
select ceiling(12.5) --返回 13
--向下取整
select floor(12.5) --返回 12
--取数值表达式的幂
select power(4,2) --返回 16
--四舍五入
select round(43.1453,2) --返回 43.15
--返回符号或0
select sign(23) --返回 23
--返回平方根
select sqrt(9) --返回 3
系统函数
--常用系统函数
1.convert() --用来转变数据类型
2.current_user --返回你登录的用户名
3.datalength() --返回指定表达式的字节数
4.host_name() --返回当前用户所登录的计算机名称
5.system_user --返回你当前所登录的用户名
6.user_name() --从给定的用户名ID返回用户名
--转变数据类型
select convert(int,'1234') 返回整数 123
--返回你登录的用户名
select current_user 返回 dbo
--返回表达式的字节数
select datalength('孙') 返回 2
--返回当前登录的计算机名称
select host_name() 返回 DESKTOP-3NS4GCJ
--返回当前登录的用户名
select system_user 返回 DESKTOP-3NS4GCJ\12930
--返回指定用户名Id的用户名
select user_name(1) 返回 dbo
聚合函数
--常用聚合函数 顾名思义T-SQL 提供了5中聚合函数
1.sum() --和
2.avg() --平均分
3.max() --最大值
4.min() --最小值
5.count() --计数
--求和
select sum(列名) --返回 该列值的总和 该列必须是整数类型
--求平均分
select avg(列名) --返回 该列值的平均数 该列必须是整数类型
--求最大值
select max(列名) --返回 该列值中最大值 该列必须是整数类型
--求最小值
select min(列名) --返回 该列值中最小值 该列必须是整数类型
--统计
select count(*) --返回 统计个数 *代表每条记录