mysql之函数

ops/2024/10/19 3:16:26/

前言

函数

1. 字符串函数

1.1 concat

select concat('Hello','aaaa');

在这里插入图片描述
这个函数的作用就是拼接,当然·也可以拼接多个
select就是打印的意思

1.2 lower

select lower('Hello');

在这里插入图片描述
大写转小写

1.2 upper

1.3 lpad

select lpad('01',5,'-');

在这里插入图片描述

这个的意思就是在01字符串的左边拼接-,直到总共有了五个字符

1.4 rpad

select rpad('01',5,'-');

在这里插入图片描述

1.5 trim

select trim('  aaaaa    bbbbb    ');

在这里插入图片描述
这个函数的作用主要就是去除字符串前面和后面的空格,不去除里面的空格

1.6 substrig

select substring('abcdefghijk',1,5);

在这里插入图片描述
这个的作用就是从位置1开始,往后截取5个字符,其中字符串的第一个字符的索引就是1

1.7 练习

在这里插入图片描述
练习,将id统一修改为5位数,不足五位数的前面补0
这里的id是varchar

update form set id=lpad(id,5,'0');

在这里插入图片描述

2. 数值函数

2.1 ceil

select ceil(1.1);

在这里插入图片描述

向上取整

2.2 floor

select floor(1.1);

在这里插入图片描述
向下取整

2.3 mod

select mod(6,4);

在这里插入图片描述
取模,前面的参数对后面的那个取模

2.4 rand

select rand();

在这里插入图片描述

产生随机数,这个随机数是在0~1之间的

2.5 round

select round(2.235,2);

在这里插入图片描述
这个的意思就是对2.235四舍五入,并保留两位小数

2.6 练习

生成一个六位数的随机验证码

select round(rand()*1000000,0);

在这里插入图片描述
但有些时候也会生成五位数的
在这里插入图片描述
为什么呢,因为可能会生成这种小数,0.020371
所以可以考虑前面补0

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

在这里插入图片描述

3. 日期函数

3.1 curdate

select curdate();

在这里插入图片描述
打印当前日期

3.2 curtime

select curtime();

在这里插入图片描述
打印当前时间

3.3 now

select now();

在这里插入图片描述
打印日期+时间

3.4 year

select year(now());

在这里插入图片描述
打印当前年,但是里面要传入now()

3.5 month

select month(now());

在这里插入图片描述

3.6 day

select day(now());

在这里插入图片描述

3.7 date_add

select date_add(now(),interval 70 day);

在这里插入图片描述
这个表示在当前的时间加上70天

select date_add(now(),interval 70 month);
select date_add(now(),interval 70 year);

3.8 datediff

select datediff('2020-9-9','2020-10-9');

在这里插入图片描述
算两个日期相差了多少天,前面的日期,减去后面的日期

3.9 练习

查询所有人的进入日期到现在的天数,并排序,降序

在这里插入图片描述

select name,datediff(curdate(),endate) from form;

在这里插入图片描述

select name,datediff(curdate(),endate) as 'days' from form order by days desc; 

在这里插入图片描述

4. 流程函数

4.1 if

select if(true,'ok','ko');

在这里插入图片描述
如果第一个参数为true,则返回第二个参数
如果第一个参数为false,则返回第三个参数

4.2 ifnull

select ifnull('ok','aa');

在这里插入图片描述

select ifnull(null,'aa');

在这里插入图片描述
第一个参数为null的话,就返回第二个参数,第一个不为null,就返回第一个

select ifnull('','aa');

在这里插入图片描述
空的字符串也不是null

4.3 case expr when else

在这里插入图片描述
如果name为lyx就打印傻子,还有ym也打印傻子,否则打印汉堡

selectname,case name when 'lyx' then '傻子'end
from form;

在这里插入图片描述
case name when ‘lyx’ then '傻子’end
这句话的意思就是当name==lyx就返回傻子
end表示结束

selectname,case name when 'lyx' then '傻子' when 'ym' then '傻子' end
from form;

在这里插入图片描述
连着用就是且的意思

在这里插入图片描述

selectname,(case name when 'lyx' then '傻子' when 'ym' then '傻子' end) as '外号'
from form;

在这里插入图片描述
还可以给这个流程函数整体取别名

4.4 case when else

case expr when 就是看等不等于,如果要比什么大于小于的话,还是要看case when

selectname,case when age>30 then '老年人' else '年轻人' end
from form;

这个的作用就是如果age大于30就是老年人,否则年轻人
在这里插入图片描述


http://www.ppmy.cn/ops/119872.html

相关文章

基于J2EE技术的高校社团综合服务系统

目录 毕设制作流程功能和技术介绍系统实现截图开发核心技术介绍:使用说明开发步骤编译运行代码执行流程核心代码部分展示可行性分析软件测试详细视频演示源码获取 毕设制作流程 (1)与指导老师确定系统主要功能; (2&am…

MyISAM 简介

MyISAM是MySQL的一个存储引擎,以其高效的读取性能和简单的设计而闻名。以下是MyISAM的详细介绍,包括其优缺点、工作机制和使用场景。 1. 基本特性 存储结构:MyISAM使用三种文件来存储数据: .frm:表的格式文件。.MYD&a…

springboot的调度服务与异步服务实操

1.调度服务 1.1.JDK之ScheduledExecutorService 讲到调度任务,我们脑海里马上会想到ScheduledExecutorService。 ScheduledExecutorService是 Java java.util.concurrent 包中的一个接口,它继承自 ExecutorService 接口。它主要用于在给定的延迟后运行…

Springboot3保存日志到数据库

保存日志到数据库 请求日志几乎是所有大型企业级项目的必要的模块,请求日志对于我们来说后期在项目运行上线一段时间用于排除异常、请求分流处理、限制流量等。请求日志一般都会记录请求参数、请求地址、请求状态(Status Code)、SessionId、…

Easy Excel从入门到精通!!!

目录 1.文件导入 1.1基本方式读取excel文件内容 1.2注解模型映射器读取excel 1.3多行表头读取 1.4文件上传读取 2.文件导出 2.1基本方式导出 2.2模型映射导出 2.3设置行高、列宽等内容 2.4合并单元格 2.5导出设置超链接、批注、公式 2.6模板填充对象导出 2.7模板填…

【PCB工艺】表面贴装技术中常见错误

系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录 1、什么是SMT和SMD2、表面贴装技术的优势是什么?3、通孔和表面贴装技术之间的区别是什么?4、焊…

Java语法-类和对象之抽象类和接口

1.抽象类 1.1 抽象类的概念 一个类中没有足够的信息来描述一个具体的对象,这样的类就是抽象类 比如: 从图中我们可以看出,只有继承了的类,我们产生的实例,调用的draw方法都是他们本身重写的draw方法,不会调用父类Shape的draw()方法,因此我们可以不管父类里面的draw()方法里面的…

「案例」飞创高速直线导轨滑台模组在高校科研设备研发的多元应用

在科研设备研发领域,先进的实验设备是推动科学研究不断前进的重要力量。飞创直线模组具有超高负载,超高速度,超高精度,超长行程,速度平稳的性能优势,以及定制化服务,为科研设备研发工作提供了稳…