数据库函数分类(学会并使用数据库day4)

数据库函数分类

数据库中,函数分为标量函数和聚合函数。

1、标量函数

概念:对表的计算,求出来是一个单一的值。
如下:

UCASE() - 将某个字段转换为大写
LCASE() - 将某个字段转换为小写
MID() - 从某个文本字段提取字符
LENGTH() - 返回某个文本字段的长度
ROUND() - 对某个数值字段进行指定小数位数的四舍五入
NOW() - 返回当前的系统日期和时间
FORMAT(number, decimal_places) 函数的作用是将数字格式化为带有千位分隔符和指定小数位数的字符串

​ 1、UCASE()函数:将某个字段转换为大写

如下:将name字段的小写字母转换为大写

SELECT UCASE(`name`) FROM stu;

2、LCASE()函数:将某个字段转换为小写

例如:

SELECT LCASE(`name`) FROM stu;

3、LENGTH()函数:返回某个文本字段的长度

例如:

SELECT LENGTH(`name`) FROM stu;

4、ROUND()函数:对某个数值字段进行指定小数位数的四舍五入

例如:

SELECT ROUND(money) FROM stu;
-- 结果是5
SELECT ROUND(5.36632);

5、NOW()函数:返回当前的系统日期和时间

例如:

SELECT NOW() FROM stu;

6、FORMAT()函数:格式化某个字段的显示方式,函数的作用是将数字格式化为带有千位分隔符和指定小数位数的字符串

例如:

SELECT FORMAT(12345.6789, 2)

上述示例将返回格式化后的字符串 "12,345.68",其中数字被格式化为带有千位分隔符和两位小数的形式。

需要注意的是,FORMAT() 函数返回的是一个字符串,而不是一个数值类型

7,使用DATA_FORMAT()函数参照下表

案例:求年龄

SELECT id,name,DATE_FORMAT(NOW(),'%Y') - DATE_FORMAT(birthday,'%Y') 年龄 FROM stu;

在上述示例中,NOW() 函数返回当前日期/时间,DATE_FORMAT(NOW(), ‘%Y’) 将当前日期的年份部分提取出来。DATE_FORMAT(birthday, ‘%Y’) 将生日日期的年份部分提取出来。然后,通过计算这两个年份之间的差值,可以得到年龄差。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ubK6sNiJ-1690207780969)(E:\myapp\typora\笔记文件夹\数据库\imgs03\now和format格式.png)]

8、timestampdiff()函数:格式化某个字段的显示方式

例如:

SELECT TIMESTAMPDIFF(year,birthday,NOW()) FROM stu;

注意:year表示按照什么方式来求时间差,例子中按照年份

在上述示例中,birthday是生日列的名称,stu是表的名称。TIMESTAMPDIFF(year, birthday, NOW())将计算从生日到当前日期的年份差.

2、聚合函数

概念:之前我们做的查询都是横向查询,它们都是根据条件一行一行的进行判断,而使用聚合函数查询
是纵向查询,它是对一列的值进行计算,然后返回一个结果值。聚合函数会忽略空值NULL。

如下:

AVG() - 返回平均值
COUNT() - 返回行数
MAX() - 返回最大值
MIN() - 返回最小值
SUM() - 返回总和

先创建一张employee表,然后添加数据

CREATE TABLE IF NOT EXISTS employee(
id int(11) auto_increment PRIMARY key,
name VARCHAR(22),
age int(4),
money int(20)
);

INSERT into employee VALUES(null,"aaa",20,3650);
INSERT into employee VALUES(null,"sss",30,4502);
INSERT into employee VALUES(null,"www",30,3650);
INSERT into employee VALUES(null,"fff",50,8885);
INSERT into employee VALUES(null,"bbbb",20,4445);

1、AVG()函数:返回平均值

例如:

SELECT AVG(money) 平均工资 FROM employee;

在上述示例中,money是工资列的名称,employee是表的名称。AVG(money)将计算employee表中money列的平均值,并将其作为平均工资的别名返回。

2、COUNT()函数:返回行数(统计个数)

例如

SELECT COUNT(*) 人数 FROM employee;

3、MAX()函数:返回最大值

例如:

SELECT MAX(age) 年龄 FROM employee;

4、MIN()函数:返回最小值

例如:

SELECT MIN(age) 年龄 FROM employee;

5、SUM()函数:返回总和

例如:

SELECT SUM(money) 总工资 FROM employee;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yjg_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值