MySQL数据库总结 之 函数命令总结

news2024/11/26 10:15:12

MySQL命令语句中的函数包含四种:

  1. 字符串函数
  2. 数值函数
  3. 日期函数
  4. 流程函数 

前两篇关于MySQL的博客,地址如下:

MySQL数据库 && SQL语言命令总结 && 数据类型、运算符和聚合函数汇总_Flying Bulldog的博客-CSDN博客icon-default.png?t=N5K3https://blog.csdn.net/qq_54185421/article/details/131396183?spm=1001.2014.3001.5501从0到1 && 关于MySQL的数据库和表_Flying Bulldog的博客-CSDN博客icon-default.png?t=N5K3https://blog.csdn.net/qq_54185421/article/details/131429423?spm=1001.2014.3001.5501

目录

1 字符串函数

字符串函数—案例

2. 数值函数

数值函数—案例

3. 日期函数

日期函数—案例

4. 流程函数

流程函数—案例 


1 字符串函数

函数功能
CONCAT(S1,S2,... ,Sn)字符串拼接,将 S1,S2,... ,Sn 拼接成一个字符串
LOWER(str)将字符串 str 全部转为小写
UPPER(str)将字符串 str 全部转为大写
LPAD(str,n,pad)左填充,用字符串 pad 对 str 的左边进行填充,达到n个字符串长度
RPAD(str,n,pad)右填充,用字符串 pad 对 str 的右边进行填充,达到n个字符串长度
TRIM(str)去掉字符串头部和尾部的空格
SUBSTRING(str,start,len)返回字符串 str 的子字符串,即从start位置起的 len 个长度的字符串

字符串函数—案例

参考本人的另外一篇博客,即可拥有如下图所示的数据库表:

题目:由于业务需求变更,企业员工的工号统一为5位数,不足5位数的工号在前面补0。

思路:根据题目分析,假如员工的工号为 1,则利用函数 lpad 把工号转变成 00001 即可。

update emp set workno = lpad(workno, 5, '0');

 运行上述SQL命令,更新的具体数据如下图所示:

 

2. 数值函数

函数功能
CELL(x)向上取整
FLOOR(x)向下取整
MOD(x,y)返回 x / y 的模
RAND()返回 0~1 的随机数
ROUND(x,y)求参数 x 四舍五入的值,保留 y 位小数

数值函数—案例

题目:通过数据库的函数,生成一个六位数的随机验证码。

思路:获取随机数可以通过 rand() 函数,但是获取出来的随机数是在 0-1 之间的,所以可以在其基础上乘以 1000000,然后舍弃小数部分。注意:利用函数 lpad 补 0( 如果长度不足 6 位)。

select lpad(round(rand()*1000000,0),6,'0');

运行结果如下: 

 

3. 日期函数

函数功能
CURDATE()返回当前日期
CURTIME()返回当前时间
NOW()返回当前日期和时间
YEAR(date)获取指定date的年份
MONTH(date)获取指定date的月份
DAY(date)获取指定date的日期
DATE_ADD(date,INTERVAL exprtype)返回一个日期 / 时间值加上一个时间间隔expr后的时间值
DATEDIFF(date1,date2)返回起始时间date1和结束时间date2之间的天数

日期函数—案例

题目:查询所有员工的入职天数,并根据入职天数倒序排序。

思路:入职天数,就是通过 当前日期 - 入职日期,所以需要使用 datediff 函数来完成。

select name, datediff(curdate(), entrydate) as 'entrydays' from emp order by entrydays desc;

 运行上述语句,结果如下图所示:

 

4. 流程函数

函数功能
IF(value,t,f)

如果 value 为 true,则返回 t,

否则返回 f

IFNULL(value1,value2)

如果 value1 不为空,返回 value1,

否则返回 value2

CASE WHEN [ vall ] THEN [res1] ...

ELSE [default] END

如果 vall 为 true,返回 res1,...

否则返回 default 默认值

CASE [expr] WHEN [vall] THEN [res1] ...

ELSE [default] END

如果 expr 的值等于 vall,返回 res1,...

否则返回 default 默认值

流程函数—案例 

题目:统计学生的成绩等级。

思路:利用流程函数 CASE WHEN [ vall ] THEN [res1] ... ELSE [default] END 来解决问题。

(1)创建学生成绩数据表,命名为 score

-- 创建表score,结构如下:
create table score(
	id int comment 'ID',
	name varchar(20) comment '姓名',
	math int comment '数学',
	english int comment '英语',
	chinese int comment '语文'
) comment '学员成绩表';

(2)插入数据到数据表 score 中

-- 插入数据到表score中
insert into score(id, name, math, english, chinese) VALUES (1, 'Tom', 67, 88, 95), (2, 'Rose' , 23, 66, 90),(3, 'Jack', 56, 98, 76);

(3)统计学生的成绩等级

select id, name, 
(case when math >= 85 then '优秀' when math >=60 then '及格' else '不及格' end )  '数学', 
(case when english >= 85 then '优秀' when english >=60 then '及格' else '不及格' end ) '英语',
(case when chinese >= 85 then '优秀' when chinese >=60 then '及格' else '不及格' end ) '语文' 
from score;

运行结果如下:

 

>>> 如有疑问,欢迎评论区一起探讨。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/701242.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flink 源算子之 DataGeneratorSource DataGenerator

目录 1、功能说明 2、API使用说明 3、代码示例 1、功能说明 从Flink1.1开始提供了DataGen连接器,它提供了Source类的实现(可并行的源算子),用来生成测试数据,在本地开发或者无法访问外部系统(如kafka)时&#xff0c…

java连接数据库的5种方式

方式一直接导入第三方库驱动类 这种加载方式在jdbc入门时已经用过,这个driver属于第三方库,。为静态加载,灵活性差,依赖性抢 方式二使用反射机制获取 方式一和方式二代码 package com.hsp.edu;import com.mysql.cj.jdbc.Driver;i…

【FFmpeg实战】音频重采样

转载自原文地址: https://www.cnblogs.com/zjacky/p/16529648.html 重采样: 将音频进行SDL播放的时候,因为当前的SDL2.0不支持plannar格式,也不支持浮点型的,而最新的FFpemg会将音频解码为AV_SAMPLE_FMT_FLTP&#xf…

LORA模型原理详解+分层控制使用

一、前言 LoRA模型全称是:Low-Rank Adaptation of Large Language Models,可以理解为Stable-Diffusion中的一个插件,仅需要少量的数据就可以进行训练的一种模型。在生成图片时,LoRA模型会与大模型结合使用,从而实现对…

一张SSL证书支持绑定多个域名吗?

一张SSL证书可支持绑定多个不同类型的域名,选择多域名SSL证书(SAN SSL)或通配符SSL证书(Wildcard SSL)类型,就可以实现一张SSL证书绑定多个域名,但绑定的域名类型有些不同。 1、多域名SSL证书&a…

Golang语言介绍、环境搭建以及编译工具( CDN 加速代理)

Go 语言是非常有潜力的语言,是因为它的应用场景是目前互联网非常热门的几个领域,比如 WEB 开发、区块链开发、大型游戏服务端开发、分布式/云计算开发。国内比较知名的B 站就是用 Go 语言开发的,像 Goggle、阿里、京东、百度、腾讯、小米、36…

人工智能开发人员工作流程、看法、工具统计数据

人工智能开发人员工作流程、看法、工具统计数据 本文目录: 一、人工智能开发所需要的技能和知识 二、开发人工智能需要以下工具 2.1、开发过程中的人工智能工具调查 2.2、AI 工具情绪调查 2.3、AI 工具的优势调查 2.4、人工智能工具的准确性调查 2.5、开发工…

rails console (SQL)查找语句

find可以查找一个 where可以查找多个

Flink DataStream之从集合/文件读数据

从集合中读数据方式一 package test01;import org.apache.flink.api.common.eventtime.WatermarkStrategy; import org.apache.flink.connector.file.src.FileSource; import org.apache.flink.connector.file.src.reader.TextLineInputFormat; import org.apache.flink.core.…

牛客·轻拍牛头

b[i]:输入 a[i]:计数 c[i]:答案void solve() {cin>>n;for(int i0;i<n;i){cin>>b[i];a[b[i]];}for(int i1;i<NN;i){if(a[i]){for(int ji;j<NN;ji)c[j]a[i];}}for(int i0;i<n;i){cout<<c[b[i]]-1<<\n;} }

【深度学习】contrastive loss与triplet loss

自己总结一下&#xff0c; 三元组如果正负样本足够开&#xff0c;距离足够远&#xff0c;loss为0&#xff0c;因为模型已经学的不错了&#xff0c;不需要继续学习。 最好的负样本是&#xff0c;model预测负样本的把握不太大的。 如果负样本是很难分的&#xff0c;例如d(a,p)>…

数据结构:Mysql索引原理(通俗易懂)

目录 前言正文索引结构-数组无序数组有序数组 索引数据结构-HashHash冲突-链式寻址法Hash冲突-再哈希法Hash冲突-开放地址法 索引数据结构-树二叉树平衡二叉树红黑树红黑树的特性红黑树如何减少旋转 B树B树 Mysql的索引一级索引二级索引 总结 前言 在工作中如果经常写业务代码…

信号链噪声分析4

目录 概要 整体架构流程 技术名词解释 技术细节 5.计算信号链的噪声 噪声谱密度 重点注意事项 有源滤波器配置 小结 概要 提示&#xff1a;这里可以添加技术概要 本文介绍对高速宽带宽信号链进行噪声性能理论分析的各个步骤。尽管选择了一个特 定信号链&#xff0c;…

传统商超巨头折戟即时零售

今年的618&#xff0c;包含沃尔玛、永辉、大润发、华润、物美、麦德龙、盒马、联华、家家悦、中百、华联在内10大商超巨头都集体“失声”了。 值得注意的是&#xff0c;今年618不仅各大商超没有公布相关数据&#xff0c;且在所有即时零售平台中&#xff0c;仅有商超到家的合作…

怎么用postman进行自动化接口测试,终于学到了

​ 目录 背景描述 创建一个GET请求 在pre-request scripts构建签名 脚本写在环境变量中 postman console的用法 Collection Runner 自动化API测试 创建接口的测试用例 选择并运行自动化接口测试 测试结果 总结&#xff1a; 背景描述 有一个项目要使用postman进行接…

元宇宙虚拟人物3d建模贯穿产业链数字化转型全链条

随着5G、AI、VR/AR、区块链、云计算、脑机等技术的发展&#xff0c;给构建这个虚拟的宇宙提供了技术支撑。今年以来&#xff0c;因为疫情等原因&#xff0c;大众在虚拟空间停留的时间变得更长&#xff0c;元宇宙概念重新火热。 元宇宙虚拟人的基本特征包括&#xff1a; 沉浸式体…

Android hook、检测及对抗相关

frida——hook 内存访问断点 环境&#xff1a;app&#xff1a;arm64 python 3.10 frida 15.2.2 简单的内存访问断点代码&#xff0c;可能还有些bug&#xff0c;根据apk需要自己改&#xff0c;下文为在apk中指定的地址调用函数时内存断点才被激活&#xff0c;以下需要…

【GESP】2023年03月图形化二级 -- 快乐时光

文章目录 快乐时光1. 准备工作2. 功能实现3. 设计思路与实现&#xff08;1&#xff09;角色、舞台背景设置a. 角色设置b. 舞台背景设置 &#xff08;2&#xff09;脚本编写a. 角色&#xff1a;小猫b. 角色&#xff1a;小猴 4. 评分标准 快乐时光 1. 准备工作 &#xff08;1&am…

CSS知识点汇总(十)--移动端适配

文章目录 怎么做移动端的样式适配&#xff1f;1、方案选择2. iPhoneX 适配方案 怎么做移动端的样式适配&#xff1f; 在移动端虽然整体来说大部分浏览器内核都是 webkit&#xff0c;而且大部分都支持 css3 的所有语法。但手机屏幕尺寸不一样&#xff0c;分辨率不一样&#xff0…

jenkins共享库配置及设计

jenkins共享库做模块封装时遇到的问题总结&#xff1a; 背景描述:使用jenkins共享库对SCM subversion操作进行封装时&#xff0c;使用了Checkout插件&#xff0c;生成的检出脚本代码为 checkout([$class: SubversionSCM, additionalCredentials: [], excludedCommitMessages: …