MySQL数据库——函数-字符串函数、数值函数、日期函数、流程函数

news2024/12/24 3:43:48

目录

字符串函数

常用函数

练习

数值函数

常用函数

练习

日期函数

常用函数

练习

流程函数

常用函数

练习


函数

是指一段可以直接被另一段程序调用的程序或代码。

 MySQL内置函数,主要分为四类:

  • 字符串函数
  • 数值函数
  • 日期函数
  • 流程函数

字符串函数

常用函数

函数功能
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号员工的工号应该为00001

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

数值函数

常用函数

函数功能
CEIL(x)向上取整
FLOOR(x)向下取整
MOD(x,y)返回x/y的模
RAN()返回0~1内的随机数,小数位数随机、不包含0和1
ROUND(x,y)求参数x的四舍五入的值,保留y位小数

练习

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

select rpad(
    round(
            rand()*1000000 ,0  -- 生成六位数的随机数且省去小数点
        ),
    6,'0'             -- 给不足六位的数补0凑够六位数
);

日期函数

常用函数

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

练习

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

select name,DATEDIFF(CURDATE(),entrydate) 'entrydates' 
    from emp 
        order by entrydates DESC;

流程函数

常用函数

函数功能
IF(value,t,f)如果value为true,则返回t,否则返回f
IFNULL(value1,value2)如果value不为空,返回value1,否则返回value2
CASE WHEN [val1] THEN [res1] ... ELSE [default] END如果val1为true,返回res1,... 否则返回default默认值
CASE [expr] WHEN [val1] THEN [res1] ... ELSE [default] END如果expr的值等于val1,返回res1,...否则返回default默认值

练习

先建表:

 统计班级各个学生的成绩,展示的规则如下:

  • >= 85,展示优秀
  • >= 60,展示及格
  • 否则,展示不及格
select
    name,
    CASE
        WHEN math >= 85 THEN '优秀'
        WHEN math >= 60 THEN '及格'
        ELSE '不及格' END 'math',
    CASE
        WHEN english >= 85 THEN '优秀'
        WHEN english >= 60 THEN '及格'
        ELSE '不及格' END 'english',
    CASE
        WHEN chinese >= 85 THEN '优秀'
        WHEN chinese >= 60 THEN '及格'
        ELSE '不及格' END 'chinese'
from score;


end


学习自:黑马程序员——MySQL数据库课程

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

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

相关文章

java+springboot+mysql农业园区管理系统

项目介绍: 使用javaspringbootmysql开发的农业园区管理系统,系统包含超级管理员、管理员、用户角色,功能如下: 超级管理员:管理员管理;用户管理;土地管理(租赁)&#x…

PATH系统环境变量配置教程【图文步骤】

开发Java程序,需要使用JDK提供的开发工具(比如javac.exe、java.exe等命令),而这些工具在JDK的安装目录的 bin目录下,如果不配置环境变量,那么这些命令只可以在该目录下执行。我们不可能把所有的java文件都放到JDK 的bin目录下&…

学习JAVA打卡第三十九天

字符串与基本数据的相互转化 Java.lang包中的Integer类调用其类方法public static int parseInt(string s)可以将由“数字”字符组成的字符序列如“876”,转化成int型数据,例如: int x; string s“876”&a…

如何使用CSS实现一个自适应两栏布局,其中一栏固定宽度,另一栏自适应宽度?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用Float属性⭐ 使用Flexbox布局⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感…

Spring练习30---用户列表的展示(下)

1、得到数据之后,我进行封装 2、关键这个方法 3、方法实现一下 4、然后找到Dao的实现,给他实现一下 5、模板查几个表 6、根据userid 查role Id 7、根据他再去查role那张表,两张表以上 8、后面那一块的意思是role表的role Id等于中间表的谁 9…

JWT令牌的介绍

目录 一、什么是JWT 二、JWT令牌和Cookie客户端、Session服务端对比 三、特点与注意事项 四、使用场景 优点: 五、结构组成 一、什么是JWT JWT(JSON Web Token)是一种用于在网络应用间传递信息的开放标准(RFC 7519&#x…

postman接口自动化测试框架实战!

什么是自动化测试 把人对软件的测试行为转化为由机器执行测试行为的一种实践。 例如GUI自动化测试,模拟人去操作软件界面,把人从简单重复的劳动中解放出来。 本质是用代码去测试另一段代码,属于一种软件开发工作,已经开发完成的用…

纠缠辅助的量子网络:原理、技术、发展与挑战

7月11日,中国科大网络空间安全学院和陆军院士工作室李忠辉博士为第一作者、薛开平教授为通讯作者的量子网络综述论文“Entanglement-Assisted Quantum Networks: Mechanics, Enabling Technologies, Challenges, and Research Directions”在通信领域知名期刊《IEEE…

【node】nvm切换node版本

以下我给出了下载与切换node版本的方法. node.js版本降级或者升级 先下载nvm 修改nvm下载的地址(防止下载Node.js速度过慢,一直加载) 配置下载源 为了加快node.js和npm的下载速度,最好配置国内的node.js和npm下载源。在nvm的安装路径下,找到setting.tx…

C#与西门子PLC1500的ModbusTcp服务器通信3--搭建ModbusTcp服务器

1、打开仿真工具,创建PLC,注意创建完成后不要关闭 注意,这个IP地址必须与西门子虚拟网卡的IP地址及虚拟机的网卡IP地址同一网段 2、打开博途V15,创建项目,命名为Lan项目 3、添加1500系列CPU1513 4、设置设置IP地址及属…

stm32之12.如何使用printf打印输出

主函数增加这些代码即可实现printf打印输出 需要添加头文件 #include "stdio.h" --------------- 源码 struct __FILE { int handle; /* Add whatever you need here */ }; FILE __stdout; FILE __stdin; int fputc(int c, FILE *f) { /* 发送一个字节 */ …

(AcWing) 最长上升子序列

给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一行包含整数 N。 第二行包含 N 个整数,表示完整序列。 输出格式 输出一个整数,表示最大长度。 数据范围 1≤N≤1000, −109≤数列中的…

Visual Studio 2022 右键单击项目没有出现View | View Class Diagram(Visual Studio 无法使用类设计器)

文章目录 问题描述原因.NET Core项目.NET Framework项目 问题描述 当我们在Solution Explorer窗口右键单击项目时,快捷菜单中没有出现“查看”,或者出现了“查看”,但是“查看”里没有View Class Diagram。 原因 首先你要确保你安装了类设…

高品质的运动耳机有哪些、高端运动耳机推荐

随着健康生活理念的广泛普及,对于很多人来说,运动已经成为他们日常生活不可或缺的重要组成部分。在激情四溢的健身运动中,我们既能够放松身心,减轻工作压力,又能够强健身体,增强免疫力,可谓一举…

伦敦银和国内银价的换算

从去年开始,国内就不断地收紧普通投资者对杠杆白银产品的投资渠道,这令来自海外市场的伦敦银受到了越来越多的关注,但它始终是以美元和盎司计价的品种,对于习惯了国内计量单位的投资者来说,自然而然就也产生了“换算”…

AB测试可以用来测什么?不能测什么?

AB测试可以测什么: AB测试是常用的因果推断方法,可以用来检验新功能发版是否有效、策略上线是否有效。 有两个大方向的应用场景,一是产品迭代,二是策略优化。其中策略包括运营策略、算法策略等。 具体例子: 应用场景…

逆置字符串允许有空格和. 如I like China.->China. like I

void reverse(char* left, char* right) {while (left < right){int tmp *left;*left *right;*right tmp;left;right--;} } int main() {char arr[101] { 0 };gets_s(arr);int len strlen(arr);//求字符串长度//逆置整个字符串reverse(arr,arrlen-1);char* start arr;…

使用VisualStudio制作上位机(二)

文章目录 使用VisualStudio制作上位机(二)第三部分:GUI内部函数设计使用VisualStudio制作上位机(二) Author:YAL 第三部分:GUI内部函数设计 事件添加 给窗体或窗体按钮相关的操作添加事件有两种方式,事件的名字直白的表面了这是什么事件。 直接双击界面,自动生成窗…

KCP协议

1、什么是kcp协议 了解kcp协议之前先回顾一下传输层的两大协议TCP和UDP。 kcp是一个快速可靠协议&#xff08;也可以叫udp的可靠性传输&#xff09;。结合了tcp的可靠性和udp的传输速度等优点&#xff0c;能以⽐ TCP浪费10%-20%带宽的代价&#xff0c;换取平均延迟降低 30%-40%…

python模拟登入某平台+破解验证码

概述 python模拟登录平台&#xff0c;遇见验证码识别&#xff01;用最简单的方法seleniumda破解验证码&#xff0c;来自动登录平台 详细 python用seleniumxpath模拟登录破解验证码 先随便找个小说平台用户登陆 - 书海小说网用户登陆 - 书海小说网用户登陆 - 书海小说网 准…