SQL数据库语言基础之SqlServer系统函数、聚合集合函数【大总结】

SQL Server中SQL COUNT和COUNT_BIG概述 In this article, we’ll walk-though two other important SQL aggregate function, SQL COUNT and COUNT_BIG. In the previous article of this series, we covered how to retrieve data, join tables, work w... 阅读详情

1、聚合函数

(1)聚合函数的概念
它是系统函数中最常用的一类函数,主要是对一组值进行计算,然后返回一个值。聚合函数主要包括SUM(求和函数)、AVG(求平均值函数)、MIN(求最小值函数)、MAX(求最大值函数)、COUNT(求数量的函数)

(2)COUNT求个数
用于计算满足条件的数据项数,返回int数据类型的值。
表达式:COUNT( {[[ all | distinct] expression ] | * } )
这里的表达式是除text、image或ntext以外任何数据类型的表达式,但不允许使用聚合函数和子查询。

其他用法:

  • count(*) 或 count(1): 返回所有的项数,包括null值和重复项。而除了此情况外,其他任何形式的count()函数都会忽略Null行。除了此情况外,其他任何聚合函数都会忽略NULL值,也就是说,AVG()参数里的值如果为Null则这一行会被忽略如计算平均值,这点要注意。
  • count(all 表达式):返回非空的项数。
  • count(distinct 表达式):返回唯一非空的项数

(3)SUM求和
只能用于精确或近似数字类型列(bit类型除外)的求和,忽略null值,不允许使用聚合函数和子查询。
语法结构:SUM( [ all | distinct ] expression )

(4)MAX求最大值
忽略null值。max函数可以使用于numeric、char、varchar、money、smallmoney、或datetime列,但不能用于bit列。不允许使用聚合函数和子查询。
语法结构:MAX( [ all | distinct ] expression )

(5)MIN求最小值
用于计算最小值,MIN函数可以适用于numeric、char、varchar或datetime、money或smallmoney列,但不能用于bit列。不允许使用聚合函数和子查询,忽略null值。
语法结构:MIN( [ all | distinct ] expression )

(6)AVG求平均值
用于计算精确型或近似型数据类型的平均值,bit类型除外,忽略null值。AVG函数计算时将计算一组数的总和,然后除以不为null的个数,得到平均值。
语法结构:AVG( [ all | distinct ] expression )
注意:

  • all:为默认值,表示对所用的数据都计算平均值。
  • distinct:每个值的唯一值计算平均值,不管相同的值出现多次,多个行相同的值仅仅出现一次作为计算。
  • expression:精确或近似值的表达式。表达式内部不允许使用子查询和其他聚合函数。

(7)求方差VAR、VARP
计算指定表达式中所有值的方差。
语法结构:VAR( [ all | distinct ] expression )

这里的expression表达式必须是一个数值表达式,不允许使用聚合函数和子查询。表达式的值是精确或近似数值类型,但不包括bit数据类型,将忽略null值。

VARP :求总体方差

(8)求标准偏差STDEV、STDEVP
语法结构:STDEV( [all | distinct ] expression )
这里的expression必须是一个数值表达式,不允许使用聚合函数和子查询。表达式的值是精确或近似数值类型,但不包括bit数据类型。将忽略null值。

STDEVP :求总体标准偏差

(9)CHECKSUM_AGG求校验和(集合函数)
返回组中各值的校验和。 将忽略 Null 值。CHECKSUM_AGG 可用于检测表中的更改。表中行的顺序不影响 CHECKSUM_AGG 的结果。此外,CHECKSUM_AGG 函数还可与 DISTINCT 关键字和 GROUP BY 子句一起使用。如果表达式列表中的某个值发生更改,则列表的校验和通常也会更改。但只在极少数情况下,校验值会保持不变。
语法结构:CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )

(10)COUNT_BIG求个数
返回组中的项数。 COUNT_BIG 的用法与 COUNT 函数类似。 两个函数唯一的差别是它们的返回值。 COUNT_BIG 始终返回 bigint 数据类型值。 COUNT 始终返回 int 数据类型值。

GROUPING:用于测试 cube 或 rollup 空值

(11)聚合函数使用位置

  • select 语句的选择列表(子查询或外部查询)。
  • compute 或 compute by 子句。
  • having 子句。

(12)在SELECT 查询语句后面控制查询的行数(LIMIT )
显示学生表前5行数据:SELECT * FROM STU LIMIT 5

2、类型转换函数

(1)CONVERT()
CONVERT(数据类型, 要转换的数据源表达式, 要转换的日期格式)

  • 日期格式:
    0:月.日.年.时:分(MON, DD, YY, HH, MI)
    101:月/日/年
    102:年.月.日
    103:日/月/年
    获取当前时间:GETDATE()函数
SELECT CONVERT(char, GETDATE())
SELECT CONVERT(char, GETDATE(),101)

1.2.1

(2)CAST()
这个转化函数没有丰富的日期转换,因此常用于其他类型转换,而日期则用CONVERT()函数。
表达式:CAST(数据源 AS 数据类型)

  • 转换当前日期格式为字符串:
SELECT CAST(GETDATE() AS CHAR(10))
3、日期函数
函数作用
GETDATE()获取当前系统时间
DATEADD(datepart, number, date)在指定日期上增加年月日,返回日期型数据
DATEDIFF(datepart, date1, date2)获取两个日期的差,并返回数据差值
DATENAME(datepart, date)获取日期的一部分,并以字符串的形式返回
DATEPART(datepart, date)获取日期的一部分,返回整数形式

datepart:month,year,day,quarter,week,hour,minute,second

  • 测试练习:
--增加3年
SELECT DATEADD(YEAR,3,GETDATE())
--获取年这一部分的数据
SELECT DATENAME(YEAR,GETDATE())
SELECT DATEPART(YEAR,GETDATE())

1.3.1

4、数学函数

1.4.1

5、字符函数

(1)字符转换函数
1)ASCII():
返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。

2)CHAR():
将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。

3)LOWER()和UPPER():
LOWER()将字符串全部转为小写;
UPPER()将字符串全部转为大写。

4)STR():
把数值型数据转换为字符型数据。
结构:STR (<float_expression>[,length[, <decimal>]])
length 指定返回的字符串的长度,decimal 指定返回的小数位数。如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。

当length 或者decimal 为负值时,返回NULL;当length 小于小数点左边(包括符号位)的位数时,返回length 个*;先服从length ,再取decimal ;
当返回的字符串位数小于length ,左边补足空格。

(2)去空格函数
LTRIM() :把字符串头部的空格去掉。

RTRIM() :把字符串尾部的空格去掉。

(3)取子串函数
1)left():
LEFT (<character_expression>, <integer_expression>)
返回character_expression 左起 integer_expression 个字符。

2)RIGHT():
结构:RIGHT (<character_expression>, <integer_expression>)
返回character_expression 右起 integer_expression 个字符。

3)SUBSTRING():
结构:SUBSTRING (<expression>, <starting_ position>, length)
返回从字符串左边第starting_ position 个字符起length个字符的部分。

(4)字符串比较函数
1)CHARINDEX():
返回字符串中某个指定的子串出现的开始位置。
结构:CHARINDEX (<’substring_expression’>, <expression>)

其中substring _expression 是所要查找的字符表达式,expression 可为字符串也可为列名表达式。如果没有发现子串,则返回0 值。此函数不能用于TEXT 和IMAGE 数据类型。

2)PATINDEX():
返回字符串中某个指定的子串出现的开始位置。
结构:PATINDEX (<’%substring _expression%’>, <column_ name>)

其中子串表达式前后必须有百分号“%”否则返回值为0。与CHARINDEX 函数不同的是,PATINDEX函数的子串中可以使用通配符,且此函数可用于CHAR、 VARCHAR 和TEXT 数据类型。

(5)字符串操作函数
1)QUOTENAME():
返回被特定字符括起来的字符串。
结构:QUOTENAME (<’character_expression’>[, quote_ character])
其中quote_ character 标明括字符串所用的字符,缺省值为“[]”。

2)REPLICATE():
返回一个重复character_expression 指定次数的字符串。
结构:REPLICATE (character_expression integer_expression)
如果integer_expression 值为负值,则返回NULL 。

3)REVERSE():
将指定的字符串的字符排列顺序颠倒。
结构:REVERSE (<character_expression>)
其中character_expression 可以是字符串、常数或一个列的值。

4)REPLACE():
返回被替换了指定子串的字符串。
结构:REPLACE (<string_expression1>, <string_expression2><string_expression3>)
用string_expression3 替换在string_expression1 中的string_expression2。

5)SPACE():
返回一个有指定长度的空白字符串。
结构:SPACE (<integer_expression>)
如果integer_expression 值为负值,则返回NULL 。

5)STUFF():
用另一子串替换字符串指定位置、长度的子串。
结构:STUFF (<character_expression1>, <start_ position>, <length>,<character_expression2>)

如果起始位置为负或长度值为负,或者起始位置大于character_expression1 的长度,则返回NULL 值。

如果length 长度大于character_expression1 中 start_ position 以右的长度,则character_expression1 只保留首字符。

6、其他系统函数

(1)PATINDEX返回指定表达式中,第一次出现的起始位置。
(2)TEXTPTR返回对应于文本指针的值。

SQL Server 函数 阅读详情

相关推荐

SQL Server之:SQL 查询之集合运算 & 聚合函数

1、集合运算 在数学中,不仅可以对指定的数字个体做四则运算,还可以对指定的集合整体做交并补运算。类似的,在数据库中也是不仅可以对具体的数据行进行增删改查,还可以对查询结果集进行集合运算。SQL Server 中的集合运算有并集运算、差集运算和交集运算三种,本节将逐一讲述。 1.1、并集运算 UNION 并集运算符 UNION 的作用是将两个或多个查询的结果集合并为单个结果集。在 UNION ...

csdnsunyf的专栏 927

SQL中COUNT()函数介绍

COUNT()函数返回匹配到指定条件的记录行数。

liitdar的博客 4万+

MSSql数据库sql语句函数大集合

转自:http://www.721j.com/article/article.asp?id=126  ---------------------------------------   聚合函数: 1.AVG 返回组中的平均值,空值将被忽略。    例如:use  northwind   // 操作northwind数据库          Go   Select

德仔 2106

SQL中COUNT()函数的用法

COUNT()函数返回匹配指定条件的行数(即一个数据单元). 其参数有三种形式: 1 COUNT(column_name) 函数返回指定列的值的数目(NULL不计入) 也就是说,传入某个列的名称,函数返回的是该列中存在值的行数。 SELECT COUNT(column_name) FROM table_name; 2 COUNT(*) 函数返回表中所有的记录数 SELECT COUNT(*) FROM table_name; 3 COUNT(DISTINCT column_name) 函数返

fdggdg的博客 2万+

精通MSSQL:一个简单查询操作的完整指南

在进行任何数据库操作之前,首先需要通过SQL Server Management Studio (SSMS)成功连接到MSSQL数据库服务器。登录窗口是SSMS的初始界面,需要输入正确的服务器地址、认证方式、登录名和密码。服务器地址可以是服务器名称、IP地址,或者是一个具体的实例名称。graph LRA[打开SSMS] --> B[输入服务器信息]B --> C[选择认证模式]C --> D[输入登录凭据]D --> E[连接到数据库]服务器地址:在此输入数据库服务器的网络名称或IP地址。

weixin_32242475的博客 1222

深入浅出:CosineLRScheduler 调度器的原理与实战应用

本文深入解析了CosineLRScheduler调度器的核心原理与实战应用,详细介绍了余弦退火算法及其在深度学习模型训练中的优势。通过参数配置建议、PyTorch实现示例和常见问题解决方案,帮助开发者高效应用该调度器提升模型性能,特别适用于计算机视觉和自然语言处理任务。

sss66的博客 858

SQL---count()

一、count() count() : 是一个聚合函数,对于返回的结果集,一行行地判断,如果 count 函数的参数不是 NULL,累计值就加 1,否则不加。最后返回累计值 二、count(1) 、count(*) 、count(字段) 区别(在InnoDB下) count(1): InnoDB 遍历全表,但是不取值,server 层对返回的每一行数据新增一个1,然后进行判断累加。包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL。 count(*): 返回的行一定不是空。扫

weixin_45618990的博客 7381

CentOS 9 Stream 上安装 MySQL 8.0+

根据提示进行设置,包括设置新的 root 密码、禁用远程 root 登录等。MySQL 在首次安装时会生成一个临时密码。这样就完成了 MySQL 8.0.37 的安装。这将安装最新的 MySQL 8.0 版本。

小强不是坑 1677

SQL Server聚合函数

在本教程中,将了解和学习SQL Server聚合函数以及如何使用它们来计算聚合。 聚合函数执行一个或多个值的计算并返回单个值。 聚合函数通常与SELECT语句的GROUP BY子句和HAVING子句一起使用。 下表显示了SQL Server中的聚合函数: 编号 聚合函数 描述 1 AVG()函数 AVG()函数用于计算集合中非NULL值的平均值。 2 C...

编程工作室 5079

DLMS-Blue-Book蓝皮书—曲线类

attribute_index 1 指的是第 1 个属性(即 logical_name),attribute_index 2 指的是第 2 个属性,等等;如果其他“曲线通用类”对象捕获了这个缓冲区,它们的缓冲区也将被清空,以保证它们的缓冲区条目是同质的。如果捕获对象是曲线通用类的缓冲区,则 data_index 标识缓冲区(即列)中的捕获对象(即内部曲线通用类中的列);如果曲线通用类已排序,则调用捕获方法将把新条目存储在缓冲区中的适当位置,移动所有后续条目,并可能丢失最不相关的条目。

一个bug是bug,多个bug能work 1452

SPAD单光子雪崩二极管:从基础原理到前沿应用

本文深入解析SPAD单光子雪崩二极管的基础原理、硬件实现关键及核心性能参数,并探讨其在激光雷达、量子通信和生物医学成像等前沿领域的创新应用。SPAD凭借超高灵敏度和精确的时间分辨率,正在推动自动驾驶、量子技术和医学诊断等领域的革命性发展。

weixin_30335575的博客 661

【SQL Server】数据库开发指南(五)T-SQL 高级查询综合应用与实战

T-SQL 是 SQL Server 的专用版本,提供了一组强大的高级查询功能,包括聚合函数、子查询、连接、视图、窗口函数、共享表达式、递归查询等。这些功能使得 T-SQL 可以轻松处理大量数据,并支持各种复杂的查询和数据操作。本文将介绍 T-SQL 的一些常见高级查询功能和语法,以及如何使用这些功能来优化 SQL Server 数据库的性能和效率。

我在山城重庆,我希望能为这片软件沙漠地带贡献自己的一滴水,Stay tuned! 3646

CAN通信:EB中配置CAN驱动,配置参数解析

以S32K314芯片说明,其他芯片不同,参数配置也有差异。

zhangxiaio1的博客 2165

交互式SQL-简单查询、连接查询和聚合查询

实验步骤:1.在SQL Server 2008中建立一个数据库;2.登录并连接数据库服务器,按照实验要求,在上面创建的数据库中创建下面三张表,并导入相关的数据。表一:图书分类表(BookClass)的模式 属性含义 属性名 类型 宽度 小数位 分类号 classNO 字符型 3 分类名称 className 字符型 20 表二:图书表(B

JEYMING的博客 1万+

量化 insider 爆料! 散户打板必亏?(打板必看!量化资金如何“隔日砸盘”收割散户)

量化开发 insider 爆料💥 散户追的涨停板📉,可能是机构故意做的陷阱!本文从技术视角拆解“涨停陷阱”,帮你看清市场真实逻辑🧠。

XiaoqiangClub的博客 445

deepstream车道线检测自定义插件化,其中要注意pipeline的配置,如果插件位置配置不对,会报input format should be RGBA when using blur-obje

以上代码中,我们先从对象池中获取一个 DsUserMeta 对象,然后使用 get_lane_line_from_frame 函数获取车道线检测结果,并使用 add_lane_line_meta 函数将其添加到 DsUserMeta 对象中。注意,上述代码中的 get_lane_line_from_frame 函数和 add_lane_line_meta 函数需要你自己实现,用于从视频帧中提取车道线检测结果,并将其添加到 DsUserMeta 中。

pvmsmfchcs的博客 689

SQL Server温故系列(4):SQL 查询之集合运算 & 聚合函数

1、集合运算 1.1、并集运算 UNION 1.2、差集运算 EXCEPT 1.3、交集运算 INTERSECT 1.4、集合运算小结 2、聚合函数 2.1、求行数函数 COUNT 2.2、求和函数 SUM 2.3、求最大值函数 MAX 2.4、求最小值函数 MIN 2.5、求平均值函数 AVG 2.6、聚合函数小结 3、本文小结 1、集合运算 在数学中,不仅可以对指定的数字个体做四则...

weixin_30252709的博客 445

mongodb在游戏开发领域的优势

目前游戏服务器使用mysql作为数据库的较多,然而,使用mongodb来作为存储层,在某些方面比mysql更为方便和适合。

littleschemer的博客 1697

《MSSQL技术内幕:T-SQL语言基础》读书笔记(上)

索引: 一、SQL Server的体系结构 二、查询 三、表表达式 四、集合运算 五、透视、逆透视及分组 六、数据修改 七、事务和并发 八、可编程对象 一、SQL Server体系结构 1.1 数据库的物理布局   数据库在物理上由数据文件和事务日志文件组成,每个数据库必须至少有一个数据文件和一个日志文件。   (1)数据文件用于保存数据库对象数据。数据库必须至少有

李赛赛的专栏 1883

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

SQLSERVER数据仓库的构建与分析

  SQLSERVER数据仓库的构建与分析 (一)基本概念:    1.多维数据集:多维数据集是联机分析处理 (OLAP) 中的主要对象,是一项可对数据仓库中的数据进行快速访问的技术。多维数据集是一个数据集合,通常从数据仓库的子集构造,并组织和汇总成一个由一组维度和度量值定义的多维结构。    2.维度:是多维数据集的结构性特性。它们是事实数据表中用来描述数据的分类的有组织层次结构(级别)。这些分

数据魔力 4300

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SQL Server数据库基础知识汇总

sqlserver基础知识,递归查询,子查询

鲤籽鲲的博客 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

dql聚合函数_聚合函数 SQL语句中聚合函数的使用

聚合函数是sql当中一个最基本的函数,sql距,那么就一定要接触到聚合函数的相关内容,那么聚合函数究竟是如何使用的呢?今天我们就一起来看一看sql语句当中的聚合函数使用方法吧。聚合函数——SQL语句中聚合函数的使用写上一个创建表的SQL语句.当然我下面的写法只支持SQLSERVER2008数据库以上的写法.CREATETABLE学生表学生IDINTIDENTITY(1,1)NOTNULL,学号IN...

weixin_36204626的博客 543

SQL Server数据库级权限

前面博文《SQL Server服务器级权限》介绍了服务器级安全主题的权限,本文将继其之后,来介绍一下数据库级安全主题具有的权限,以及如何赋予、拒绝数据库用户、角色权限,并介绍查看用户、角色具有哪些权限的方法。 本文同样使用sys.fn_builtin_permissions来查看安全主题数据库具有的权限 SELECT * FROM sys.fn_builtin_permissions('...

三空道人的博客 4971

mysql集合运算函数_SQL Server温故系列(4):SQL 查询之集合运算 & 聚合函数

1、集合运算在数学中,不仅可以对指定的数字个体做四则运算,还可以对指定的集合整体做交并补运算。类似的,在数据库中也是不仅可以对具体的数据行进行增删改查,还可以对查询结果集进行集合运算。SQL Server 中的集合运算有并集运算、差集运算和交集运算三种,本节将逐一讲述。1.1、并集运算 UNION并集运算符 UNION 的作用是将两个或多个查询的结果集合并为单个结果集。在 UNION 运算中,需要...

weixin_34336068的博客 412

SQL-开窗函数

1. 什么是开窗函数 开窗函数/分析函数:over() 窗口函数也称为OLAP函数(分析函数),意思是对数据库数据进行实时分析处理。窗口函数就是为了实现OLAP而添加的标准SQL功能。 目前在 MSSQLServer、Oracle、DB2 等主流数据库中都提供了对开窗函数的支持,不过非常遗憾的是 MYSQL 暂时还未对开窗函数给予支持。 1.2 开窗函数语法 开窗函数语法:其中[]中的内容可以省略 <开窗函数> over ([partition by <列清单>]

数据分析阿宇君的博客 1万+
上一篇: SQL数据库语言基础之SqlServer的自动化管理功能(SQL Server代理、作业、警报、操作员)
下一篇: SQL数据库语言基础之SqlServer分组查询总结
鸿蒙Next
鸿蒙Next 优质创作者: python技术领域 优质创作者: python技术领域
博客等级 码龄7年 2万+粉丝 300原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

鸿蒙Next

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

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

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

打赏作者

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

抵扣说明:

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

余额充值