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

MySQL常用函数

什么是函数?

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

字符串函数

函数功能
CONCAT(S1,S2,…Sn)字符串拼接,将S1,S2,… Sn拼接成一个字符串
LOWER(str)将字符串str全部转为小写
LOWER(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个长度的字符串

concat : 字符串拼接

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


lower : 全部转小写

select lower('Hello');


upper : 全部转大写

select upper('Hello');


lpad : 左填充

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


rpad : 右填充

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


trim : 去除空格

select trim(' Hello MySQL ');


substring : 截取子字符串

-- 索引从1开始,而不是从0开始
select substring('Hello MySQL',1,5);


案例:
由于业务需求变更,企业员工的工号,统一为5位数,目前不足5位数的全部在前面补0。比如:1号员
工的工号应该为00001

update employee set work_no = lpad(work_no,5,'0');

数值函数

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

ceil:向上取整

select ceil(0.1);


floor:向下取整

select floor(9.9);


mod:取模

select mod(11,3);

rand:获取随机数

select rand();


round:四舍五入

select round(3.1415926,2);


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

-- 思路分析:通过rand函数产生一个随机数,通过字符串截取小数点后的6为即可
select substr(rand(),3,6);
或者
-- 思路分析:通过rand函数产生一个随机数,乘以1000000后,再舍弃小数部分,由于可能出现前面0被舍去,再采用lpad补0
select lpad(round(rand() * 1000000, 0), 6, '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之间的天 数

curdate:当前日期

select curdate();


curtime:当前时间

select curtime();


now:当前日期和时间

select now();


YEAR :当前年

select YEAR(now());


MONTH :当前月

select MONTH(now());


DAY:当前日

select DAY(now());


date_add:增加指定的时间间隔

select date_add(now(), INTERVAL 70 YEAR );


datediff:获取两个日期相差的天数

select datediff('2021-10-01', '2021-12-01');


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

select name,datediff(curdate(), entry_date) entrydays from employee  order by entrydays desc ;

流程函数

函数功能
IF(value , t , f)如果value为true,则返回t,否则返回 f
IFNULL(value1 , value2)如果value1不为空,返回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默认值

if

select if(false, 'Ok', 'Error');

ifnull

select ifnull('Ok','Default');
select ifnull('','Default');
select ifnull(null,'Default');

case when then else end
需求: 查询emp表的员工姓名和工作地址 (北京/上海 ----> 一线城市 , 其他 ----> 二线城市)

select name,(case work_addresswhen '北京' then '一线城市'when '上海' then '一线城市'else'二线城市' end) as '工作地址'
from employee;


案例:统计班级各个学员的成绩,展示的规则如下:
>=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);

案例SQL

select 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常用函数

什么是函数? 函数是指一段可以直接被另一段程序调用的程序或代码。 字符串函数 函数功能CONCAT(S1,S2,…Sn)字符串拼接,将S1,S2,… Sn拼接成一个字符串LOWER(str)将字符串str全部转为小写LOWER(str)将字符串str全部转为小写LPAD(…...

51单片机数字电子钟开题报告

目录 选题背景 初步设计方案 芯片的选型 编译环境 关键问题 策略 方案 参考文献 选题背景 数字电子钟是一种受到越来越多人喜爱的钟表,其准确性和稳定性成为设计和研发的重要考虑因素。在现代社会,时间的准确性对于各行各业都非常重要&#xff0…...

day7 HTTP协议

HTTP协议 什么是协议? 协议实际上是某些人,或者某些组织提前制定好的一套规范,大家都按照这个规范来,这样可以做到沟通无障碍。协议就是一套规范,就是一套标准。由其他人或其他组织来负责制定的。我说的话你能听懂&…...

3DCAT+一汽奥迪:共建线上个性化订车实时云渲染方案

近年来,随着5G网络和云计算技术的不断发展,交互式3D实时云看车正在成为一种新的看车方式。与传统的到4S店实地考察不同,消费者可以足不出户,通过网络与终端设备即可实现全方位展示、自选汽车配色、模拟效果、快捷选车并进行个性化…...

yii2项目使用frp https2http插件问题

yii2内网项目,使用frp进行内网穿透,使用 https2http插件把内网服务器http流量转成https,会存在一个问题:当使用 $this->redirect(...) 或 $this->goHome() (其实用的也是前者)等重定向时,…...

关于 interface{} 会有啥注意事项?下

我们一起来回顾一下上一次说到的 interface{} 可以用来做多态 接口类型分为空接口类型和非空接口类型,他们的底层数据结构不太一样 这里顺便说一下,用来作态需要满足这样的条件: 首先得有父类指针指向子类的对象这个接口还必须是非空接口…...

ansible组件介绍和简单playbook测试

一、ansible inventory 在大规模的配置管理工作中,管理不同业务的机器,机器的信息都存放在ansible的inventory组件里面。在工作中,配置部署针对的主机必须先存放在Inventory里面,然后ansible才能对它进行操作。默认的Ansible的in…...

[数据结构]:13-插入排序(顺序表指针实现形式)(C语言实现)

目录 前言 已完成内容 插入排序实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-PSeqListFunction.cpp 04-SortCommon.cpp 05-SortFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容,除其中使用到C引用外,全为C语言代…...

es6 new Promise

Promise 是一个构造函数,本身身上有 all、reject、resolve 这几个方法,原型上有 then、catch 等方法。所以 Promise new 出来的对象确定就有 then、catch 方法。Promise 的构造函数接收一个参数,是函数,而且传入两个参数&#xff…...

Python爬虫实战:使用Requests和BeautifulSoup爬取网页内容

标题:Python爬虫实战:使用Requests和BeautifulSoup爬取网页内容 Python爬虫技术是网络爬虫中的一种,它可以从互联网上抓取各种网页信息,如文本、图片、视频等,并将它们存储在本地数据库中。Python语言具有简单易学、语…...

质量指标——什么是增量覆盖率?它有啥用途?

目录 引言 什么是增量覆盖率 增量覆盖率有啥用途 1、对不同角色同学的用途 2、对不同规模的业务需求的用途 增量覆盖率的适用人员 增量覆盖率不太适用的情况 引言 有些质量团队,有时会拿「增量覆盖率」做出测试的准出卡点。 但在实际的使用过程中,…...

Hive---拉链表

拉链表 文章目录拉链表定义用途案例全量流程增量流程合并过程第一步第二步第三步案例二(含分区)创建外部表orders增量分区表历史记录表定义 拉链表是一种数据模型,主要是针对数据仓库设计中表存储数据的方式而定义的,顾名思义&am…...

日常文档标题级别规范

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…...

C++学习记录——십이 vector

文章目录1、vector介绍和使用2、vector模拟实现insert和erase和迭代器失效补齐其他函数深浅拷贝难点思考1、vector介绍和使用 vector可以管理任意类型的数组&#xff0c;是一个表示可变大小数组的序列容器。 通过vector文档来看它的使用。 #include <iostream> #inclu…...

Lombok常见用法总结

目录一、下载和安装二、常见注释&#xff08;一&#xff09;Data&#xff08;二&#xff09;Getter和Setter&#xff08;三&#xff09;NonNull和NotNull&#xff08;不常用&#xff09;&#xff08;四&#xff09;ToString&#xff08;不常用&#xff09;&#xff08;五&#…...

【Ajax】异步通信

一.概述 概念&#xff1a;AJAX(Asynchronous JavaScript And XML)&#xff1a;异步的 JavaScript 和 XML 作用&#xff1a; 与服务器进行数据交换&#xff1a;通过AJAX可以给服务器发送请求&#xff0c;并获取服务器响应的数据 使用了AJAX和服务器进行通信&#xff0c;就可以使…...

近红外吸收荧光染料IR-808,IR-808 NH2,IR-808 amine,发射808nm 性质分享

中文名称&#xff1a;IR-808 氨基英文名称&#xff1a;IR-808 NH2&#xff0c;IR-808 amine&#xff0c;IR-808-NH2规格标准&#xff1a;10mg&#xff0c;25mg&#xff0c;50mgCAS&#xff1a;N/A产品描述&#xff1a;IR-808&#xff0c;发射808nm&#xff0c;酯溶性染料修饰氨…...

一图来看你需要拥有那些知识储备

技术实践 数据 关系型数据 MySQLSQLServerOraclePostgrSQLDB2 大数据存储 RedisMemcacheMongoDBHBaseHive 大数据处理 Hadoop 数据报表看板 DataGearGrafanaKibanaMetaBase 消息对列 Rabbit MQRock MQActive MQKafka 大数据搜索 SolrElasticSearchLucenHive 服务提…...

复位和时钟控制(RCC)

目录 复位 系统复位 电源复位 备份区复位 时钟控制 什么是时钟&#xff1f; 时钟来源 二级时钟源: 如何使用CubeMX配置时钟 复位 系统复位 当发生以下任一事件时&#xff0c;产生一个系统复位&#xff1a;1. NRST引脚上的低电平(外部复位) 2. 窗口看门狗计数终止(WWD…...

OpenWrt 专栏介绍00

文章目录OpenWrt 专栏介绍00专栏章节介绍关于联系方式OpenWrt 专栏介绍00 专栏章节介绍 本专栏主要从开发者角度&#xff0c;一步步深入理解OpenWrt开发流程&#xff0c;本专栏包含以下章节&#xff0c;内如如下&#xff1a; 01.OperWrt 环境搭建02.OperWrt 包管理系统03.Op…...

第七部分-容器安全与监控——33. 镜像安全

33. 镜像安全 1. 镜像安全概述 镜像是容器的基石&#xff0c;镜像安全问题直接影响容器运行时安全。镜像安全涵盖基础镜像选择、镜像构建过程、镜像存储和分发等环节。 ┌─────────────────────────────────────────────────…...

PetaLinux下为ZynqMP配置GMII2RGMII驱动:从设备树修改到内核编译的完整指南

PetaLinux下为ZynqMP配置GMII2RGMII驱动的实战指南 在嵌入式Linux开发中&#xff0c;以太网驱动的配置往往是系统集成的关键环节。对于使用Xilinx ZynqMP芯片的开发者来说&#xff0c;当硬件设计采用GMII2RGMII IP核实现PL端以太网功能时&#xff0c;如何在PetaLinux环境下正确…...

DDrawCompat:让经典DirectX游戏在Windows 11重获新生的技术桥梁

DDrawCompat&#xff1a;让经典DirectX游戏在Windows 11重获新生的技术桥梁 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_mirrors/…...

终极哔咔漫画下载器:3步打造个人离线漫画图书馆

终极哔咔漫画下载器&#xff1a;3步打造个人离线漫画图书馆 【免费下载链接】picacomic-downloader 哔咔漫画 picacomic pica漫画 bika漫画 PicACG 多线程下载器&#xff0c;带图形界面 带收藏夹&#xff0c;已打包exe 下载速度飞快 项目地址: https://gitcode.com/gh_mirror…...

从内核恐慌到系统恢复:一次NMI watchdog触发的soft lockup深度诊断

1. 当服务器突然卡死&#xff1a;从NMI watchdog错误说起 那天下午3点&#xff0c;机房警报突然响起。我冲到服务器前&#xff0c;屏幕上赫然显示着刺眼的红色错误&#xff1a;"NMI watchdog: BUG: soft lockup - CPU#2 stuck for 23s!"。这台承载着核心业务的服务器…...

从原理到实践:InSAR技术如何重塑地表形变监测

1. 从雷达信号到毫米级形变&#xff1a;InSAR技术原理揭秘 想象一下&#xff0c;你站在湖边向平静的水面扔一块石头&#xff0c;水波会以同心圆的形式向外扩散。如果这时有人在水面另一处也扔了一块石头&#xff0c;两列水波相遇时就会产生干涉现象——有的地方波峰叠加变得更高…...

Speechless微博备份工具:3分钟学会完整导出PDF的终极指南

Speechless微博备份工具&#xff1a;3分钟学会完整导出PDF的终极指南 【免费下载链接】Speechless 把新浪微博的内容&#xff0c;导出成 PDF 文件进行备份的 Chrome Extension。 项目地址: https://gitcode.com/gh_mirrors/sp/Speechless 你是否曾担心珍贵的微博回忆突然…...

移动端优化gh_mirrors/ti/til:PWA渐进式Web应用开发的终极指南

移动端优化gh_mirrors/ti/til&#xff1a;PWA渐进式Web应用开发的终极指南 【免费下载链接】til :memo: Today I Learned 项目地址: https://gitcode.com/gh_mirrors/ti/til GitHub 加速计划&#xff08;ti/til&#xff09;是一个记录日常学习的开源项目&#xff0c;通过…...

Windows Cleaner:彻底告别C盘爆红的免费开源解决方案

Windows Cleaner&#xff1a;彻底告别C盘爆红的免费开源解决方案 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 面对Windows系统使用过程中C盘空间不断告急的困扰…...

SubLens:AI订阅管理浏览器插件,一站式聚合账单与扣款提醒

1. 项目概述&#xff1a;一个帮你管好AI订阅账单的浏览器插件 如果你和我一样&#xff0c;订阅了不止一个AI服务——比如ChatGPT Plus用来日常对话和写作&#xff0c;Claude Pro用来处理长文档&#xff0c;GitHub Copilot写代码&#xff0c;Cursor辅助开发&#xff0c;再加上G…...