当前位置: 首页 > 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…...

udk开发-稀里糊涂

一、EDK2简介 1.EDK2工作流 ​ 二、EDK2 Packages 1.Packages介绍 ​ EDK2 Packages是一个容器&#xff0c;其中包含一组模块及模块的相关定义。每个Package是一个EDK2单元。 整个Project的源代码可以被分割成不同的Pkg。这样的设计不仅可以降低耦合性&#xff0c;还有利于分…...

Java之内部类

目录 一.内部类 1.什么是内部类 2.内部类存在的原因 3. 内部类的分类 4.内部类的作用 二.成员内部类 1.基本概念 2.成员内部类的注意点 1.成员内部类可以用private方法进行修饰 2.成员内部类可以直接访问外部类的私有属性 3.外部类可以通过对象访问内部类的私有属性 …...

【MyBatis】篇二.MyBatis查询与特殊SQL

文章目录1、MyBatis获取参数值case1-单个字面量类型的参数case2-多个字面量类型的参数case3-map集合类型的参数case4-实体类类型的参数case5-使用Param注解命名参数总结2、MyBatis的各种查询功能case1-查询结果是一个实体类对象case2-查询结果是一个List集合case3-查询单个数据…...

CE认证机构和CE证书的分类

目前&#xff0c;CE认证已普遍被应用在很多行业的商品中&#xff0c;也是企业商品进入欧洲市场的必备安全合格认证。在船舶海工行业中&#xff0c;也同样普遍应用&#xff0c;很多时候&#xff0c;对于规范中没有明确认证要求的设备或材料&#xff0c;而船舶将来还会去欧洲水域…...

Lesson 8.2 CART 分类树的建模流程与 sklearn 评估器参数详解

文章目录一、CART 决策树的分类流程1. CART 树的基本生长过程1.1 规则评估指标选取与设置1.2 决策树备选规则创建方法1.3 挑选最佳分类规则划分数据集1.4 决策树的生长过程2. CART 树的剪枝二、CART 分类树的 Scikit-Learn 快速实现方法与评估器参数详解1. CART 分类树的 sklea…...

【Unity】程序集Assembly模块化开发

笔者按&#xff1a;使用Unity版本为2021.3LTS&#xff0c;与其他版本或有异同。请仅做参考 一、简述。 本文是笔者在学习使用Unity引擎的过程中&#xff0c;产学研的一个笔记。由笔者根据官方文档Unity User Manual 2021.3 (LTS)/脚本/Unity 架构/脚本编译/程序集定义相关部分结…...

马尔可夫决策过程

1. 马尔可夫决策过程 马尔可夫决策过程不过是引入"决策"的马氏过程. Pij(a)P{Xn1j∣X0,a0,X1,a1,...,Xni,an1}P{Xnn1j∣Xni,ana}\begin{split} P_{ij}(a) & P\{X_{n1} j|X_0, a_0, X_1, a_1, ..., X_n i, a_n 1\} \\ &P\{X_n{n1} j|X_n i, a_n a\} \e…...

win11下载配置CIC Flowmeter环境并提取流量特征

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、下载CIC Flowmeter二、安装java、maven、gradle和IDEA1.java 1.82.maven3.gradle4.IDEA三、CICFlowMeter-master使用四、流量特征1.含义2.获取前言 配了一整…...

JDK如何判断自己是什么公司的

0x00 前言 因为一些事情&#xff0c;遇到了这样一个问题&#xff0c;JDK如何判断自己是什么公司编译的。因为不同的公司编译出来&#xff0c;涉及到是否商用收费的问题。 平时自己使用的时候&#xff0c;是不会考虑到JDK的编译公司是哪一个&#xff0c;都是直接拿起来用&#…...

大数据技术之HBase(二)HBase原理简介

一、HBase定义1.1 HBase定义HBase 是一种分布式、可扩展、支持海量数据存储的 NoSQL 数据库非结构化数据存储的数据库&#xff0c;基于列的模式存储。利用Hadoop HDFS作为其文件存储系统&#xff0c;写入性能很强&#xff0c;读取性能较差。利用Hadoop MapReduce来处理HBase中的…...

网站建设全包公司推荐/seo是搜索引擎优化

重新安装了ubuntu12.04后&#xff0c;Ubuntu开机就出现&#xff1a;error&#xff1a;no such partitiongrub rescue >一般情况下&#xff0c;出现这类错误是引导文件出错或者系统找不到引导文件&#xff0c;而系统并没有坏&#xff0c;所以不用重新安装系统。需要进行如下的…...

东莞疾控最新通告今天/短视频入口seo

参考链接 点击按钮直接上传文 /*批量导入*//*#load:为按钮,点击后生成一个隐藏的input file标签*/$(#load).after(<input type"file" id"load_xls" name"file" style"display:none" onchange "uploadFile()">);$(#loa…...

wordpress 小手枪图标/石家庄seo关键词

Hadoop 生产调优HDFS—核心参数NameNode 内存生产配置NameNode 内存计算Hadoop2.x 系列&#xff0c; 配置 NameNode 内存Hadoop3.x 系列&#xff0c;配置 NameNode 内存NameNode 心跳并发配置开启回收站配置回收站工作机制开启回收站功能参数说明查看回收站HDFS—集群压测测试 …...

做微信封面的网站/怎么创建网站链接

介绍jwt 1、JWT官网&#xff1a; https://jwt.io/ JWT(Java版)的github地址:https://github.com/jwtk/jjwt 2、什么是jwt Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准&#xff08;(RFC 7519).定义了一种简洁的&#xff0…...

网站怎么做动态图片/企业推广方式有哪些

一、通用函数&#xff1a; colorbar 显示彩色条 语法&#xff1a;colorbar \ colorbar(vert) \ colorbar(horiz) \ colorbar(h) \ hcolorbar(...) \ colorbar(...,peer,axes_handle) getimage 从坐标轴取得图像数据 语法&#xff1a;Agetimage(h) \ [x,y,A]getimage(h) \ [...…...

哪个公司做网站/目前推广软件

第1题. 编写一个Filter&#xff0c;需要&#xff08;&#xff09; A. 继承Filter 类 B. 实现Filter 接口 C. 继承HttpFilter 类 D. 实现HttpFilter接口 正确答案为&#xff1a;B 第2题. 自定义标签的配置文件放在________ A. WebRoot B. lib C. cl…...