MySQL的基础语法2(函数-字符串函数、数值函数、日期函数和流程函数 )
目录
一、字符串函数
1.常见字符串函数
编辑 2.字符串函数的基本使用
3.字符串函数的数据库案例演示
二、数值函数
1.常见数值函数(如下):
2.数值函数的基本使用
3.数值函数的数据库案例演示
三、日期函数
1.常见的日期函数
2.日期函数的基本使用
3.日期函数的数据库案例演示
四、流程函数
1.常见的流程函数
2.流程函数的基本使用
3.流程函数的数据库案例演示
函数是指一段可以直接被另一段程序调用的程序或代码。 也就意味着,这一段程序或代码MySQL中已经给我们提供了,我们要做的就是在合适的业务场景调用对应的函数完成对应的业务需求即可。
一、字符串函数
1.常见字符串函数
MySQL中内置了很多字符串函数,常用的几个如下:
2.字符串函数的基本使用
案例如下:
A. concat : 字符串拼接
select concat('Hello' , ' MySQL');B. lower : 全部转小写
select lower('Hello');C. upper : 全部转大写
select upper('Hello');D. lpad : 左填充
select lpad('01', 5, '-'); -- ---01E. rpad : 右填充
select rpad('01', 5, '-'); -- 01---F. trim : 去除空格
select trim(' Hello MySQL '); -- Hello MySQLG. substring : 截取子字符串
select substring('Hello MySQL',1,5); --Hello
3.字符串函数的数据库案例演示
题目要求:由于业务需求变更,企业员工的工号,统一为5位数,目前不足5位数的全部在前面补0。比如: 1号员 工的工号应该为00001。
首先创建员工数据库(代码如下):
create table emp(id int comment '编号',workno varchar(10) comment '工号',name varchar(10) comment '姓名',gender char(1) comment '性别',age tinyint unsigned comment '年龄',idcard char(18) comment '身份证号',workaddress varchar(50) comment '工作地址',entrydate date comment '入职时间')comment '员工表';INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
VALUES (1, '00001', '柳岩', '女', 20, '123456789012345678', '北京', '2000-01-01'),(2, '00002', '张无忌', '男', 18, '123456789012345670', '北京', '2005-09-01'),(3, '00003', '韦一笑', '男', 38, '123456789712345670', '上海', '2005-08-01'),(4, '00004', '赵敏', '女', 18, '123456757123845670', '北京', '2009-12-01'),(5, '00005', '小昭', '女', 16, '123456769012345678', '上海', '2007-07-01'),(6, '00006', '杨逍', '男', 28, '12345678931234567X', '北京', '2006-01-01'),(7, '00007', '范瑶', '男', 40, '123456789212345670', '北京', '2005-05-01'),(8, '00008', '黛绮丝', '女', 38, '123456157123645670', '天津', '2015-05-01'),(9, '00009', '范凉凉', '女', 45, '123156789012345678', '北京', '2010-04-01'),(10, '00010', '陈友谅', '男', 53, '123456789012345670', '上海', '2011-01-01'),(11, '00011', '张士诚', '男', 55, '123567897123465670', '江苏', '2015-05-01'),(12, '00012', '常遇春', '男', 32, '123446757152345670', '北京', '2004-02-01'),(13, '00013', '张三丰', '男', 88, '123656789012345678', '江苏', '2020-11-01'),(14, '00014', '灭绝', '女', 65, '123456719012345670', '西安', '2019-05-01'),(15, '00015', '胡青牛', '男', 70, '12345674971234567X', '西安', '2018-04-01'),(16, '00016', '周芷若', '女', 18, null, '北京', '2012-06-01');
实现代码如下:
update emp set workno = lpad(workno, 5, '0');
二、数值函数
1.常见数值函数(如下):

2.数值函数的基本使用
A. ceil:向上取整
select ceil(1.1); -- 2B. floor:向下取整
select floor(1.9); -- 1C. mod:取模
select mod(7,4); -- 3 求余D. rand:获取随机数
select rand(); -- 0-1之间 [0, 1)E. round:四舍五入
select round(2.344,2); -- 对前面的数进行四舍五入,保留两位小数
3.数值函数的数据库案例演示
案例: (演示的表与一.3的案例同样)通过数据库的函数,生成一个六位数的随机验证码。并生成新的字段,然后加入数据库
ALTER TABLE emp ADD rand_data int COMMENT "随机数";
update emp set rand_data = rpad(round(rand()*1000000 , 0), 6, '0');
三、日期函数
1.常见的日期函数

2.日期函数的基本使用
A. curdate:当前日期
select curdate(); -- 2025-03-29B. curtime:当前时间
select curtime(); -- 11:34:59C. now:当前日期和时间
select now(); -- 2025-03-29 11:35:16 D. YEAR , MONTH , DAY:当前年、月、日select YEAR(now()); -- 2025select MONTH(now()); -- 3select DAY(now()); -- 29E. date_add:增加指定的时间间隔
select date_add(now(), INTERVAL 70 YEAR ); -- 当前时间往后推70年 -- 2095-03-29 11:38:36F. datediff:获取两个日期相差的天数 -- 第一个时间减去第二个时间
select datediff('2021-10-01', '2021-12-01'); -- -61
3.日期函数的数据库案例演示
案例: 查询所有员工的入职天数,并根据入职天数倒序排序。(演示的表与一.3的案例同样)
思路: 入职天数,就是通过当前日期 - 入职日期,所以需要使用datediff函数来完成。
select name, datediff(curdate(), entrydate) as 'entrydays' from emp order by entrydays desc;
四、流程函数
流程函数也是很常用的一类函数,可以在SQL语句中实现条件筛选,从而提高语句的效率。
1.常见的流程函数

2.流程函数的基本使用
A. if
-- IF(value, t, f) 如果 value 为 true,则返回 t,否则返回 f
select if(false, 'Ok', 'Error'); -- ErrorB. ifnull
-- IFNULL(value1, value2) 如果 value1 不为空,返回 value1,否则返回 value2
select ifnull('Ok','Default'); -- Ok
select ifnull('','Default'); -- 返回前面的空字符串
select ifnull(null,'Default'); -- DefaultC. case when then else end
-- CASE WHEN [ val1 ] THEN [res1] ... ELSE [ default ] END 如果 val1 为 true,返回 res1,... 否则返回 default 默认值-- 需求: 查询emp表的员工姓名和工作地址 (北京/上海 ----> 一线城市 , 其他 ----> 二线城市)selectname,( case workaddress when '北京' then '一线城市' when '上海' then '一线城市' else
'二线城市' end ) as '工作地址'from emp;-- 张无忌,一线城市
-- 韦一笑,一线城市
3.流程函数的数据库案例演示
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 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;
相关文章:
MySQL的基础语法2(函数-字符串函数、数值函数、日期函数和流程函数 )
目录 一、字符串函数 1.常见字符串函数 编辑 2.字符串函数的基本使用 3.字符串函数的数据库案例演示 二、数值函数 1.常见数值函数(如下): 2.数值函数的基本使用 3.数值函数的数据库案例演示 三、日期函数 1.常见的日期函数 2.日…...
5G_WiFi_CE_杂散测试
目录 一、规范要求 1、法规目录: 2、限值: (1)带外发射杂散 (2)带内发射杂散 (3)接收杂散 二、测试方法 1、带外发射杂散 (1)测试条件 (…...
理解Kubernetes中CoreDNS域名解析与DNS策略
CoreDNS是什么 CoreDNS是一个灵活可扩展的DNS服务器,使用Go语言编写,旨在提供快速、灵活的DNS服务 为什么需要CoreDNS CoreDNS为Kubernetes集群内部的DNS解析提供服务,使得服务之间能够通过域名互相通信 Kubernetes集群中, CoreDNS是运行在…...
大数据Spark(五十五):Spark框架及特点
文章目录 Spark框架及特点 一、Spark框架介绍 二、Spark计算框架具备以下特点 Spark框架及特点 一、Spark框架介绍 Apache Spark 是一个专为大规模数据处理而设计的快速、通用的计算引擎。最初由加州大学伯克利分校的 AMP 实验室(Algorithms, Machines, and Pe…...
UI产品经理基础(六):如何解决用户的质疑?
在需求调查中遇到用户质疑“不专业”或“不了解需求”,本质上是用户对产品经理的信任缺失或沟通鸿沟导致的。要化解这种质疑,需从专业能力展示、沟通方式优化、用户参与感提升三个维度切入,结合具体场景采取针对性策略。以下是系统化的解决方…...
【大数据技术】大数据技术概念及概述
1. 大数据概念 数据 是实时或观察的结果是对客观事务的逻辑归纳是用于表示客观事物的未经加工的原始素材 数据的产生 对客观事务的计量和记录尝试的数据 单位换算1 byte8 bit1 k1024 byte1 mb1024 k1 g1024 m1 t1024 g1 p1024 t1 e1024 p1 z1024 e1 y1024 z1 b1024 y1 n10…...
高等数学-第七版-上册 选做记录 习题7-4
1. 2....
Python库()
1.概念 Matplotlib 库:是一款用于数据可视化的 Python 软件包,支持跨平台运行,它能够根据 NumPy ndarray 数组来绘制 2D 图像,它使用简单、代码清晰易懂 Matplotlib 图形组成: Figure:指整个图形…...
AI知识补全(八):多模态大模型是什么?
名人说:人生如逆旅,我亦是行人。 ——苏轼《临江仙送钱穆父》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 上一篇:AI知识补全(七):AI Agent 智能…...
复习MySQL20250327
第一章 基本操作 一、管理数据库 难点:创建数据库 输入cmd的MySQL安装路径C:\Program Files\MySQL\MySQL Server 8.0\bin 1.查看所有数据库 show databases; 2.创建数据库 create database hsusers default charset utf8 collate utf8_general_ci;create data…...
Docker-MySQL安装-命令解读-常见命令-数据卷挂载-本地目录挂载-自定义镜像-网络-前端部署-DockerCompose
目录 Docker: 安装MySQL: 镜像容器: 镜像仓库: 编辑命令解读: 镜像命名规范: docker run中常见参数: Docker常见命令: 编辑数据卷: 编辑数据卷-操作命令&…...
Docker 安装部署Harbor 私有仓库
Docker 安装部署Harbor 私有仓库 系统环境:redhat x86_64 一、首先部署docker 环境 定制软件源 wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repoyum install -y yum-utils device-mapper-persistent-data lvm2…...
linux基本命令(1)--linux下的打包命令 -- tar 和gzip
tar 解压 ,打包 语法:tar [主选项辅选项] 文件或者目录 使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。 主选项: c 创建新的档案文件。如果用户想备…...
Linux 文件系统全解析
笔记整理自 【双语视界】Linux文件系统全解析:从混乱到标准,一览核心目录! 可执行文件目录 /bin(基本系统命令) 包含核心操作系统程序,在系统启动时必须可用,即使没有挂载 /usr 也能运行。 这里…...
StarRocks 存算分离在京东物流的落地实践
康琪:京东物流高级技术专家、StarRocks & Apache Flink Contributor 导读:本文整理自京东物流高级技术专家在 StarRocks 年度峰会上的分享,UData 平台从存算一体到存算分离架构演进后,查询性能得到提升。Cache hit 时…...
英伟达GB300新宠:新型LPDDR5X SOCAMM内存
随着人工智能(AI)、机器学习(ML)和高性能计算(HPC)应用的快速发展,对于高效能、大容量且低延迟内存的需求日益增长。NVIDIA在其GB系列GPU中引入了不同的内存模块设计,以满足这些严格…...
HTML布局
HTML布局元素 <header>定义文档或者节的页眉 <nav>定义导航链接的容器 <section>定义文档中的一部分 <article>定义单独的文章 <aside>定义内容边栏(如侧边栏) footer定义文档或节的页脚 <details>定义额外的细节 …...
vue搭建一个树形菜单项目
首先搭建项目需要先通过步骤搭建一个vue的项目,然后创建一个component文件,里面新建一个index.vue页面来。 这是引入的element-ui组件库里的组件,来实现我的路由,渲染的是我存储的动态路由,所以需要先安装并且引用。 …...
具身智能 - Diffusion Policy:技术解析与应用实践
具身智能之 Diffusion Policy:技术解析与应用实践 一、Diffusion Policy 的核心概念 Diffusion Policy 是一种基于扩散模型(Diffusion Models)的决策生成框架,专为具身智能(Embodied Intelligence)设计。其核心思想是通过逐步去噪的过程,在复杂环境中生成鲁棒的动作序列…...
[C++] 智能指针 进阶
标题:[C] 智能指针 进阶 水墨不写bug 在很久之前我们探讨了智能指针的浅显认识,接下来会更加深入,从源码角度认识智能指针,从而了解智能指针的设计原理,并应用到以后的工作项目中。 本文将会按照C智能指针的发展历史&…...
kubernetes》》k8s》》 kubeadm、kubectl、kubelet
kubeadm 、kubectl 、kubelet kubeadm、kubectl和kubelet是Kubernetes中不可或缺的三个组件。kubeadm负责集群的快速构建和初始化,为后续的容器部署和管理提供基础;kubectl作为命令行工具,提供了与Kubernetes集群交互的便捷方式;而…...
AI日报 - 2025年3月30日
🌟 今日概览(60秒速览) ▎🤖 模型进展 | Qwen2.5-Omni多模态实时交互,Gemini 2.5 Pro/GPT-4o低调升级,Claude内部思考过程揭秘。 新模型和升级持续涌现,多模态与内部机制理解成焦点。 ▎&#x…...
C++中的new、malloc、realloc、calloc——特点?函数原型?释放方式?区别?校招面试常问内容?
作者:求一个demo 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 内容通俗易懂,没有废话,文章最后是面试常问内容(建议通过标题目录学习) 废话不多…...
27_promise
插入一下前端助手测试,顺手可以用来做安全 promise promise 是一个es6新增的语法 汉语:承诺的意思 作用:是专门用来解决回调地狱!!!! 什么是回调函数? <script>// 回调函数 callback回调// 就是把函数A当作参数传递到函数B中// 在函…...
leetcode刷题日记——跳跃游戏 II
[ 题目描述 ]: [ 思路 ]: 题目要求在一个一定能达到数组末尾的跳跃数组中(见55题 跳跃游戏),找出能够跳到末尾的最小次数要求次数最少,那肯定是选取能选步数中最大的数。也就是在当前能够达到的距离中,选择能够达到的…...
无人机进行航空数据收集对于分析道路状况非常有用-使用无人机勘测高速公路而不阻碍交通-
无人机进行航空数据收集对于分析道路状况非常有用-使用无人机勘测高速公路而不阻碍交通- 瑞士拥有1,400 多公里长的高速公路网络。这些公路将人和货物从山谷高原运送到阿尔卑斯山的最高山口。维护这些高速公路使国家得以顺利运转。高速公路维护的重要性显而易见,但在…...
注意力蒸馏技术
文章目录 摘要abstract论文摘要简介方法预备知识注意力蒸馏损失注意力引导采样 实验结论总结参考文献 摘要 本周阅读了一篇25年二月份发表于CVPR 的论文《Attention Distillation: A Unified Approach to Visual Characteristics Transfer》,论文开发了Attention Distillation…...
PERL开发环境搭建>>Windows,Linux,Mac OS
特点 简单 快速 perl解释器直接对源代码程序解释执行,是一个解释性的语言, 不需要编译器和链接器来运行代码>>速度快 灵活 借鉴了C/C, Basic, Pascal, awk, sed等多种语言, 定位于实用性语言,既具备了脚本语言的所有功能,也添加了高级语言功能 开源.免费 没有&qu…...
赛博威智慧导购平台,融合AI激活一线导购效能,破局增长瓶颈
导购管理≠“管人”,价值释放才是终极命题 在快消行业,一线导购是链接品牌与消费者的核心触点,更是市场洞察与销售转化的关键枢纽。然而,许多企业对导购的管理仍停留在“管人”的初级阶段:基础考勤、任务下发、薪资核…...
鸿蒙项目源码-记账本app个人财物管理-原创!原创!原创!
鸿蒙记账项目源码个人财务管理含文档包运行成功ArkTS语言。 我一个月写的原创作品,请尊重原创。 原创作品,盗版必究!!! api12 SDK5.0.0仅适用于最新的2024版本DevEco studio 共9个页面:广告倒计时页、登录、…...
