前言
总计在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则返回08.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--返回符号或0select 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(*) --返回 统计个数 *代表每条记录