当前位置: 首页 > news >正文

【MySQL】MySQL函数学习和总结

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

🌈个人主页: Aileen_0v0
🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法
💫个人格言:“没有罗马,那就自己创造罗马~”

ask for the moon异想天开

文章目录

  • `函数`
    • `流程函数`
    • `if函数`
    • `ifnull函数`
    • `case函数`
    • `case函数`
  • `函数总结`
    • `Exercises`

函数

流程函数

流程函数:可在SQL语句中实现条件筛选,提高语句效率。

函数功能
if(value,t,f)如果value为true,则返回t,否则返回f
ifnull(value1,value2) 如果value1不为空,则返回value1,否则返回value2
case when [ val1 ] then [ res1 ] ... else [ default ] end 如果val1为true,返回
case [ expr ] when [ val1 ] then [ res1 ] ... else [ default ] end 如果expr的值等于val1,返回res1,… 否则返回default默认值

if函数

-- 流程控制函数
-- if
select if(false,'Aileen','Betty');

在这里插入图片描述

ifnull函数

-- ifnull
select  ifnull('ok','default');

在这里插入图片描述

select  ifnull('','default');

在这里插入图片描述

select  ifnull(null, 'default');

在这里插入图片描述


case函数

-- case when then else end
-- 需求: 查询emp 表的员工姓名和工作地址(北京/上海 ----> 一线城市 , 其他 ----> 二线城市)-- 首先将员工姓名和工作地址先筛选出来
select name,WORKADDRESS from emp;-- 再根据需求进行条件筛选selectname,case WORKADDRESS when '北京' then '一线城市' when '上海' then '一线城市' else '二线城市' end
from emp;

在这里插入图片描述


case函数

将分数转换为等级

-- 案例: 统计班级各学员的成绩,展示的规则如下:
-- >= 85, 展示优秀
-- >= 60, 展示及格
-- 否则, 展示不及格create table score(id int comment  'ID',name varchar(20) comment '姓名',math int comment  '数学',english int comment '英语',chinese int comment '语文'
) comment '学员成绩表';
insert into score(id, name, math, english, chinese) values (1,'Tom',67,88,95),(2,'Rose',23,66,90),(3,'Jack',56,98,76);selectid,name,(case when chinese >= 85 then '优秀' when chinese >= 60 then '及格' else '不及格' end ) '语文',(case when english >= 85 then '优秀' when english >= 60 then '及格' else '不及格' end ) '英语',(case when math >= 85 then '优秀' when math >= 60 then '及格' else '不及格' end ) '数学'
from score;

在这里插入图片描述
在这里插入图片描述


函数总结

在这里插入图片描述


Exercises

计算我加入CSDN的时间

select datediff('2024-2-12','2023-3-14');

在这里插入图片描述](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

http://www.lryc.cn/news/298396.html

相关文章:

  • MySQL进阶查询篇(7)-触发器的创建和使用
  • 前端面试题——JS实现反转链式表
  • 小周带你正确理解Prompt-engineering,RAG,fine-tuning工程化的地位和意义
  • 【精选】java多态进阶——多态练习测试
  • Git详细讲解
  • k8s弃用docker后使用ctr导入镜像
  • mxxWechatBot开发中..
  • C#系列-C#log4net日志保存到文件(15)
  • linux 08 文件查找
  • 【Java面试】数据类型常见面试题
  • unity学习案例总结
  • Halcon 频域缺陷检测
  • 架构整洁之道-软件架构-测试边界、整洁的嵌入式架构、实现细节
  • nodejs学习计划--(十)会话控制及https补充
  • fast.ai 机器学习笔记(四)
  • LLM大模型常见问题解答(2)
  • 这种学习单片机的顺序是否合理?
  • 13 年后,我如何用 Go 编写 HTTP 服务(译)
  • flask+python高校学生综合测评管理系统 phl8b
  • 【GameFramework框架内置模块】1、全局配置(Config)
  • PySpark(四)PySpark SQL、Catalyst优化器、Spark SQL的执行流程、Spark新特性
  • 2024第六届中国济南国际福祉及残疾人用品展览会/失能护理展
  • SegmentAnything官网demo使用vue+python实现
  • Java:字符集、IO流 --黑马笔记
  • RabbitMQ之五种消息模型
  • 项目02《游戏-14-开发》Unity3D
  • 【Java数据结构】单向 不带头 非循环 链表实现
  • 【ES6】模块化
  • 腾讯云4核8G服务器可以用来干嘛?怎么收费?
  • 怎么在bash shell中操作复杂json对象