c++ 编写函数返回两个值最小值_SQL基础知识(3)—常见函数(最全!)

一、函数是什么:

  1. 概念:将一组逻辑语句封装在方法体内,对外暴露方法名
  2. 好处:隐藏实际细节;提高代码重用性(即:不用重新写逻辑语句,调用函数就行)
  3. 调用:select 函数名(实参列表) from 表;
  4. 特点:1.叫什么(函数名);2.干什么(函数功能)
  5. 分类

8a2ee8e6acd534971a9b686f9dc29ece.png

二、文本处理函数

  • 说明:用于处理文本字符串(如删除/填充值、转换为大写或小写)的文本函数

1. 查看字符串的长度、拼接多个字符串、替换部分字符串、改变字符串大小写

9c6fb3859cba2f134a887aefb118007e.png

2. 根据索引截取字符串、根据字符串返回索引

a933305881502efc6ad5dc750c6832ec.png

3. 删除字符串前缀或后缀的部分字符串/空格

59701217750b748c3986192538424e88.png

4. 填充字符串至指定长度、返回指定长度的字符串

9032f93ad11e74f2b7f4927b640f8de0.png

三、数值处理函数

  • 说明:用于在数值数据上进行算数操作(如返回绝对值,进行代数计算)的数值函数

1. 将数值四舍五入/截断至指定位数

eb2f506d83baf2433c76d186c9c37bc9.png

2. 向上/向下取整,求余数

d600b60a8e24f559fce5eff7c1da3606.png

四、日期和时间处理函数

  • 说明:用于处理日期和时间值并从这些值中提取特定成分(如返回两个日期之的差,检查日期有效性)的日期和时间函数

1. 返回当前日期和时间、日期、时间

560c65c388da19c1ee55e5bb0b31ef11.png
年、月、日、小时、分钟、秒的格式符:

a94db4820f9aa5332bf0bdfb06d77fcf.png

2. 将日期与字符通过格式符进行转换

be2c1d441748458f4741b96f31af5907.png

3. 两个日期相隔天数

5b4d41f6e7b2ffa8bd2982b19e60d734.png

4. 提取部分日期或时间

e79555aca33dca5ba56bb880bb24e51e.png

五、分组函数(聚集函数)

  • 说明:当需要表中数据的汇总信息,而不需要检索出原始数据本身时使用
  • 用途:用于计算表中某些行的和;找出某列(所有行/特定行)的最大值、最小值、平均值;确定表中行数(或者满足特定条件的行数)

1. 函数说明:

72dcf263e113539983729eb21a8590a6.png

2. 函数实例:

例1:查询员工的工资总和、工资的平均值、最高值、最低值,以及表的行数和工资列的行数

0db8efa9e9047e421b0fed293f6b4654.png
输入

5313badbf51d7fc8901d06a2a60ec786.png
输出

3. 分组函数与distinct结合使用:

  • 说明:分组函数与distinct结合,可用于对数据中的不同值进行汇总

例2:汇总员工不相同工资的总和、均值、行数 VS 汇总员工全部的工资的总和、均值、行数

9e9ed7c23279839664d1beb2e2300bc6.png
输入

a6546375d06b9fe316538239e454b948.png
输出

4. count(*)函数的拓展说明:

(1) 统计表的行数的两种方式:

  • SELECT COUNT(*) FROM employees;
  • SELECT COUNT(1) FROM employees;(相当于再建一列,列值均为1)

(2) 执行效率对比:

  • MYISAM存储引擎下,count(*)的效率最高
  • INNODB存储引擎下,count(*)和count(1)的效率差不多,比count(字段)要高一些
  • 综上,一般用count(*)统计行数

六、流程控制函数

1. if函数:条件判断函数

语法:if(判断条件, 条件成立时返回的值, 条件不成立时返回的值)

例3:如果员工的奖金率为空值显示为0,否则显示表格中的奖金率

f81fc4aeb68eafe1c300c60731f10556.png
输入

138f1c84b2403d0a897e53808071d1f2.png
输出
IFNULL( expr1,expr2 ):判断expr1是否为NULL,不为空返回expr1,为空返回expr2

2. case函数

(1) 第一个作用:判断一个条件

语法:

case 判断字段/表达式/变量
when 常量1 then 要显示的值1或语句1;
when 常量2 then 要显示的值2或语句2;
……
else 要显示的值n或语句n
end

例4:查询员工的工资:部门号=30,显示工资为1.1倍;部门号=40,显示的工资为1.2倍;部门号=50,显示的工资为1.3倍;其他部门显示原工资

a70110097f503ea118a2b8581c6ccf2b.png
输入

1b85fbee9c4b50033bfbfd8019bd05ee.png
输出

(2) 第二个作用:判断多个条件(类似于多重if )

语法:

case
when 条件1 then 要显示的值1或者语句1
when 条件2 then 要显示的值2或者语句2
……
else 要显示的值n或语句n
end

例5:查询员工的工资:如果工资大于两万,显示A级别;如果工资大于15000,显示B级别;如果工资大于一万,显示C级别;否则显示D级别

a8274554ddea3722238739c5b57ebed8.png
输入

2fdb7ee45e89524138062162020097cc.png
输出
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值