SQL Server中的常用函数汇总

前言

    在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(*)			--返回 统计个数 *代表每条记录
  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
目录 第1章 数据库入门  1.1 数据库概述   1.1.1 数据库数据库管理系统   1.1.2 数据库能做什么   1.1.3 主流数据库管理系统介绍  1.2 数据库基础概念   1.2.1 Catalog   1.2.2 表(Table)   1.2.3 列(Column)   1.2.4 数据类型(DataType)   1.2.5 记录(Record)   1.2.6 主键(PrimaryKey)   1.2.7 索引(Index)   1.2.8 表关联   1.2.9 数据库语言——SQL   1.2.10 DBA与程序员 第2章 数据表的创建和管理  2.1 数据类型   2.1.1 整数类型   2.1.2 数值类型   2.1.3 字符相关类型   2.1.4 日期时间类型   2.1.5 二进制类型  2.2 通过SQL语句管理数据表   2.2.1 创建数据表   2.2.2 定义非空约束   2.2.3 定义默认值   2.2.4 定义主键   2.2.5 定义外键   2.2.6 修改已有数据表   2.2.7 删除数据表   2.2.8 受限操作的变通解决方案 第3章 数据的增、删、改  3.1 数据的插入   3.1.1 简单的INSERT语句   3.1.2 简化的INSERT语句   3.1.3 非空约束对数据插入的影响   3.1.4 主键对数据插入的影响   3.1.5 外键对数据插入的影响  3.2 数据的更新   3.2.1 简单的数据更新   3.2.2 带WHERE子句的UPDATE语句   3.2.3 非空约束对数据更新的影响   3.2.4 主键对数据更新的影响   3.2.5 外键对数据更新的影响  3.3 数据的删除   3.3.1 简单的数据删除   3.3.2 带WHERE子句的DELETE语句 第4章 数据的检索  4.1 SELECT基本用法   4.1.1 简单的数据检索   4.1.2 检索出需要的列   4.1.3 列别名   4.1.4 按条件过滤   4.1.5 数据汇总   4.1.6 排序  4.2 高级数据过滤   4.2.1 通配符过滤   4.2.2 空值检测   4.2.3 反义运算符   4.2.4 多值检测   4.2.5 范围值检测   4.2.6 低效的“WHERE 1=1”  4.3 数据分组   4.3.1 数据分组入门   4.3.2 数据分组与聚合函数   4.3.3 HAVING语句  4.4 限制结果集行数   4.4.1 MySQL   4.4.2 MS SQL Server 2000   4.4.3 MS SQL Server 2005   4.4.4 Oracle   4.4.5 DB2   4.4.6 数据库分页  4.5 抑制数据重复  4.6 计算字段   4.6.1 常量字段   4.6.2 字段间的计算   4.6.3 数据处理函数   4.6.4 字符串的拼接   4.6.5 计算字段的其他用途  4.7 不从实体表取的数据  4.8 联合结果集   4.8.1 简单的结果集联合   4.8.2 联合结果集的原则   4.8.3 UNION ALL   4.8.4 联合结果集应用举例 第5章 函数  5.1 数学函数   5.1.1 求绝对值   5.1.2 求指数   5.1.3 求平方根   5.1.4 求随机数   5.1.5 舍入到最大整数   5.1.6 舍入到最小整数   5.1.7 四舍五入   5.1.8 求正弦值   5.1.9 求余弦值   5.1.10 求反正弦值   5.1.11 求反余弦值   5.1.12 求正切值   5.1.13 求反正切值   5.1.14 求两个变量的反正切   5.1.15 求余切   5.1.16 求圆周率π值   5.1.17 弧度制转换为角度制   5.1.18 角度制转换为弧度制   5.1.19 求符号   5.1.20 求整除余数   5.1.21 求自然对数   5.1.22 求以10为底的对数   5.1.23 求幂  5.2 字符串函数   5.2.1 计算字符串长度   5.2.2 字符串转换为小写   5.2.3 字符串转换为大写   5.2.4 截去字符串左侧空格   5.2.5 截去字符串右侧空格   5.2.6 截去字符串两侧的空格   5.2.7 取子字符串   5.2.8 计算子字符串的位置   5.2.9 从左侧开始取子字符串   5.2.10 从右侧开始取子字符串   5.2.11 字符串替换   5.2.12 得到字符的ASCII码   5.2.13 得到一个ASCII码数字对应的字符   5.2.14 发音匹配度  5.3 日期时间函数   5.3.1 日期、时间、日期时间与时间戳   5.3.2 主流数据库系统日期时间类型的表示方式   5.3.3 取得当前日期时间   5.3.4 日期增减   5.3.5 计算日期差额   5.3.6 计算一个日期是星期几   5.3.7 取得日期的指定部分  5.4 其他函数   5.4.1 类型转换   5.4.2 空值处理   5.4.3 CASE函数  5.5 各数据库系统独有函数   5.5.1 MySQL的独有函数   5.5.2 MS SQL Server的独有函数   5.5.3 Oracle的独有函数 第6章 索引与约束  6.1 索引  6.2 约束   6.2.1 非空约束   6.2.2 唯一约束   6.2.3 CHECK约束   6.2.4 主键约束   6.2.5 外键约束 第7章 表连接  7.1 表连接简介  7.2 内连接(INNER JOIN)  7.3 不等值连接  7.4 交叉连接  7.5 自连接  7.6 外部连接   7.6.1 左外部连接   7.6.2 右外部连接   7.6.3 全外部连接 第8章 子查询  8.1 子查询入门   8.1.1 单值子查询   8.1.2 列值子查询  8.2 SELECT列表的标量子查询  8.3 WHERE子句的标量子查询  8.4 集合运算符与子查询   8.4.1 IN运算符   8.4.2 ANY和SOME运算符   8.4.3 ALL运算符   8.4.4 EXISTS运算符  8.5 在其他类型SQL语句的子查询应用   8.5.1 子查询在INSERT语句的应用   8.5.2 子查询在UPDATE语句的应用   8.5.3 子查询在DELETE语句的应用 第9章 主流数据库SQL语法差异解决方案  9.1 SQL语法差异分析   9.1.1 数据类型的差异   9.1.2 运算符的差异   9.1.3 函数的差异   9.1.4 常用SQL的差异   9.1.5 取元数据信息的差异  9.2 消除差异性的方案   9.2.1 为每种数据库编写不同的SQL语句   9.2.2 使用语法交集   9.2.3 使用SQL实体对象   9.2.4 使用ORM工具   9.2.5 使用SQL翻译器  9.3 CowNewSQL翻译器   9.3.1 CowNewSQL支持的数据类型   9.3.2 CowNewSQL支持的SQL语法   9.3.3 CowNewSQL支持的函数   9.3.4 CowNewSQL使用方法 第10章 高级话题  10.1 SQL注入漏洞攻防   10.1.1 SQL注入漏洞原理   10.1.2 过滤敏感字符   10.1.3 使用参数化SQL  10.2 SQL调优   10.2.1 SQL调优的基本原则   10.2.2 索引   10.2.3 全表扫描和索引查找   10.2.4 优化手法  10.3 事务   10.3.1 事务简介   10.3.2 事务的隔离   10.3.3 事务的隔离级别   10.3.4 事务的使用  10.4 自动增长字段   10.4.1 MySQL的自动增长字段   10.4.2 MS SQL Server的自动增长字段   10.4.3 Oracle的自动增长字段   10.4.4 DB2的自动增长字段  10.5 业务主键与逻辑主键  10.6 NULL的学问   10.6.1 NULL与比较运算符   10.6.2 NULL和计算字段   10.6.3 NULL和字符串   10.6.4 NULL和函数   10.6.5 NULL和聚合函数  10.7 开窗函数   10.7.1 开窗函数简介   10.7.2 PARTITION BY子句   10.7.3 ORDER BY子句   10.7.4 高级开窗函数  10.8 WITH子句与子查询 第11章 案例讲解  11.1 报表制作   11.1.1 显示制单人详细信息   11.1.2 显示销售单的详细信息   11.1.3 计算收益   11.1.4 产品销售额统计   11.1.5 统计销售记录的份额   11.1.6 为采购单分级   11.1.7 检索所有重叠日期销售单   11.1.8 为查询编号   11.1.9 标记所有单内最大销售量  11.2 排序   11.2.1 非字段排序规则   11.2.2 随机排序  11.3 表间比较   11.3.1 检索制作过采购单的人制作的销售单   11.3.2 检索没有制作过采购单的人制作的销售单  11.4 表复制   11.4.1 复制源表的结构并复制表的数据   11.4.2 只复制源表的结构  11.5 计算字符在字符串出现的次数  11.6 去除最高分、最低分   11.6.1 去除所有最低、最高值   11.6.2 只去除一个最低、最高值  11.7 与日期相关的应用   11.7.1 计算销售确认日和制单日之间相差的天数   11.7.2 计算两张销售单之间的时间间隔   11.7.3 计算销售单制单日期所在年份的天数   11.7.4 计算销售单制单日期所在月份的第一天和最后一天  11.8 结果集转置   11.8.1 将结果集转置为一行   11.8.2 把结果集转置为多行  11.9 递归查询   11.9.1 Oracle的CONNECT BY子句   11.9.2 Oracle的SYS_CONNECT_BY_PATH()函数   11.9.3 My SQL Server和DB2递归查询 附录A 常用数据库系统的安装和使用  A.1 DB2的安装和使用  A.2 MySQL的安装和使用  A.3 Oracle的安装和使用  A.4 Microsoft SQL Server的安装和使用 显示部分信息
SQL Server,分组汇总语句是一种用于根据特定字段对数据进行分组,并计算每个组内数据的汇总信息的查询语句。常用的分组汇总函数包括COUNT、SUM、AVG、MIN和MAX等。 例如,我们有一个名为"Orders"的表,包含订单号、客户编号和订单金额等字段。我们可以使用分组汇总语句来计算每个客户的订单总金额。 ```sql SELECT CustomerID, SUM(OrderAmount) AS TotalAmount FROM Orders GROUP BY CustomerID ``` 以上语句使用了SUM函数来计算每个客户的订单总金额,并使用GROUP BY子句将结果按照客户编号分组。最后,通过SELECT语句选择显示客户编号和总金额。 除了SUM函数,我们还可以使用其他分组汇总函数。例如,如果我们想知道每个客户的订单数量,可以使用COUNT函数。 ```sql SELECT CustomerID, COUNT(*) AS OrderCount FROM Orders GROUP BY CustomerID ``` 以上语句使用了COUNT函数来计算每个客户的订单数量,并通过GROUP BY子句按照客户编号进行分组。 分组汇总语句还可以使用HAVING子句来过滤汇总结果。例如,如果我们只想查找订单总金额大于1000的客户,可以使用HAVING子句来实现。 ```sql SELECT CustomerID, SUM(OrderAmount) AS TotalAmount FROM Orders GROUP BY CustomerID HAVING SUM(OrderAmount) > 1000 ``` 以上语句使用HAVING子句来过滤总金额大于1000的客户。 总而言之,SQL Server的分组汇总语句是一种强大的工具,可以根据特定字段对数据进行分组,并计算每个组的汇总信息。通过使用合适的分组汇总函数和HAVING子句,我们可以根据需求来获取到所需的汇总结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自学之路←_←

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值