SQL中的函数

Wesley13
• 阅读 498

概括:函数是由一个或多个T-SQL语句组成的子程序,是一组可用于封闭实现一定功能的程序代码,函数使代码便于重复使用。

类别:
1、聚合函数

聚合函数对一个组值执行计算,并返回单个值。除了 COUNT 以外,聚合函数都会忽略空置。聚合函数经常与 SELECT 语句的 GROUP BY字句一起使用。常用的聚合函数包括 AVC、COUNT、MAX、MIN、SUM。

函数

作用

avg

返回表达式中的总数返回表达式的平均值

count

返回表达式中的总数

min

返回表达式中的最小值

max

返回表达式中的最大值

sum

返回表达式中的和

具体事例:

表名为Customers,列名有ID,Name,Country,Sex,Num
SQL中的函数
实现代码:

select COUNT(*) 总计 from Customers
select Country,COUNT(*) from Customers group by Country
select min(num) 最小值 from Customers
select max(num) 最大值 from Customers

SQL中的函数
SQL中的函数
SQL中的函数
SQL中的函数
SQL中的函数
2、日期和时间函数

使用日期和时间函数可以方便地对日期进行显示、比较、截取等操作,常用的日期和时间函数包括 GETDATE、DATENAME、DATEPART、DAY、MONTH、YEAR、DATEDIEF、DATEADD。

函数

作用

GETDATE

返回当前计算机的日期和时间

DATENAME

返回表示指定日期的指定datepart 的字符串

DATEPART

返回表示指定的date和指定的datepart 的整数

DAY

返回表示指定的date中的“日”部分的整数

MONTH

返回表示指定的date中的“月”部分的整数

YEAR

返回表示指定的date中的“年”部分的整数

DATEDIEF

返回两个指定日期之间所夸的日期或者时间datepart边界的数目

DATEADD

通过加一个时间间隔指定date的指定datepart相加,返回一个新的datepart值

3、自定义函数

自定义函数就是为了提高代码的复用性,下图中的代码就是一个标准的无传入参数无返回值的自定义函数

--定义一个函数,如果参数1返回男,参数0返回女
go 
create function ConverSex(
  @sex bit
)
returns varchar(4)
as
begin
  declare @rsSex varchar(4)
  if(@sex=1)
    select @rsSex='男'
  else
    select @rsSex='女'
  return @rsSex
end

--函数调用
select *,dbo.ConverSex(sex) from Customers

SQL中的函数

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
JS 对象数组Array 根据对象object key的值排序sort,很风骚哦
有个js对象数组varary\{id:1,name:"b"},{id:2,name:"b"}\需求是根据name或者id的值来排序,这里有个风骚的函数函数定义:function keysrt(key,desc) {  return function(a,b){    return desc ? ~~(ak
Stella981 Stella981
2年前
HIVE 时间操作函数
日期函数UNIX时间戳转日期函数: from\_unixtime语法:   from\_unixtime(bigint unixtime\, string format\)返回值: string说明: 转化UNIX时间戳(从19700101 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式举例:hive   selec
Wesley13 Wesley13
2年前
mysql5.7之only_full_group_by
mysql进入5.7版本之后,默认开启sql\_mode的only\_full\_group\_by模式。影响在于:  sql语句中如果有groupby部分,那么select部分不能出现groupby框定的字段以外的字段(聚合函数除外)举个例子:  selectcount(\),ORG\_NAME,ORG\_CODEfromPUB
Wesley13 Wesley13
2年前
MongoDB 聚合函数
概念聚合函数是对一组值执行计算并返回单一的值主要的聚合函数countdistinctGroupMapReduce1、countdb.users.count()db.users.count({"uname":"hxf1"})db.users.count({"salary":{"$gt":15000}
Wesley13 Wesley13
2年前
mysql——GROUP BY和HAVING
GROUPBY语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。select子句中的列名必须为分组列或列函数,列函数对于groupby子句定义的每个组返回一个结果。某个员工信息表结构和数据如下:  id  name  dept  salary  edlevel     hiredate   1  张
Wesley13 Wesley13
2年前
MongoDB系列
 MongoDB中聚合(aggregate) 操作将来自多个document的value组合在一起,并通过对分组数据进行各种操作处理,并返回计算后的数据结果,主要用于处理数据(诸如统计平均值,求和等)。MongoDB提供三种方式去执行聚合操作:聚合管道(aggregationpipeline)、MapReduce函数以及单一的聚合命令(count、di
Stella981 Stella981
2年前
Django 第十课 5.【聚合函数】
1:所有的聚合函数都是放在‘django.db.models’下面2:聚合函数不能单独执行,需要放在一些可以执行聚合函数的方法下面中去执行。比如‘aggregate’。示例代码如下:resultBook.objects.aggretate(Avg("price"))3:聚合函数执行完成后,给这个聚合函数的值去个名字,取名字的
Wesley13 Wesley13
2年前
Oracle 行列转换函数pivot、unpivot的使用(二)
一、行转列pivot关键函数pivot,其用法如下pivot(聚合函数for列名in(类型))select\fromtable\_namepivot(max(column\_name)                           行转列后的列的值value,聚合函数是必须要有的