MySQL---函数

目录

一、概述

二、字符串函数

三、数值函数

四、日期函数

五、流程函数


一、概述

        函数 是指一段可以直接被另一段程序调用的程序或代码。 也就意味着,这一段程序或代码在MySQL 中 已经给我们提供了,我们要做的就是在合适的业务场景调用对应的函数完成对应的业务需求即可。 那 么,函数到底在哪儿使用呢?
        我们先来看两个场景:

        1). 在企业的 OA 或其他的人力系统中,经常会提供的有这样一个功能,每一个员工登录上来之后都能 够看到当前员工入职的天数。 而在数据库中,存储的都是入职日期,如 2000-11-12 ,那如果快速计算出天数呢?
        2). 在做报表这类的业务需求中 , 我们要展示出学员的分数等级分布。而在数据库中,存储的是学生的 分数值,如98/75 ,如何快速判定分数的等级呢?
        其实,上述的这一类的需求呢,我们通过MySQL 中的函数都可以很方便的实现 。
        MySQL中的函数主要分为以下四类: 字符串函数、数值函数、日期函数、流程函数。

二、字符串函数

        MySQL中内置了很多字符串函数,常用的几个如下:

        案例:

        A. concat : 字符串拼接
select concat('Hello' , ' MySQL');
        B. lower : 全部转小写
select lower('Hello');
        C. upper : 全部转大写
select upper('Hello');
        D. lpad : 左填充
select lpad('01', 5, '-');
        E. rpad : 右填充
select rpad('01', 5, '-');
        F. trim : 去除空格
select trim(' Hello MySQL ');
        G. substring : 截取子字符串
select substring('Hello MySQL',1,5);

三、数值函数

        常见的数值函数如下:

        示例:

       A. ceil:向上取整。
select ceil(1.1);
        B. floor:向下取整。
select floor(1.9);
        C. mod:取模。
select mod(7,4);
        D. rand:获取随机数。
select rand();
        E. round:四舍五入。
select round(2.344,2);
        案例:
        通过数据库的函数,生成一个六位数的随机验证码。
        思路: 获取随机数可以通过rand() 函数,但是获取出来的随机数是在 0-1 之间的,所以可以在其基础 上乘以1000000 ,然后舍弃小数部分,如果长度不足 6 位,补 0。
select lpad(round(rand()*1000000 , 0), 6, '0'); 1

四、日期函数

        常见的日期函数如下:

        示例:

        A. curdate:当前日期
select curdate();
        B. curtime:当前时间
select curtime();
        C. now:当前日期和时间
select now();
        D. YEAR , MONTH , DAY:当前年、月、日
select YEAR(now());
select MONTH(now());
select DAY(now());
        E. date_add:增加指定的时间间隔
select date_add(now(), INTERVAL 70 YEAR );
        F. datediff:获取两个日期相差的天数
select datediff('2021-10-01', '2021-12-01');

五、流程函数

        流程函数也是很常用的一类函数,可以在SQL 语句中实现条件筛选,从而提高语句的效率。

        示例:

        A. if
select if(false, 'Ok', 'Error');
        B. ifnull
select ifnull('Ok','Default');
select ifnull('','Default');
select ifnull(null,'Default');
        C. case when then else end
        需求: 查询 emp 表的员工姓名和工作地址 ( 北京 / 上海 ----> 一线城市 , 其他 ----> 二线城市 )
select
    name,
    ( case workaddress when '北京' then '一线城市' when '上海' then '一线城市' else
'二线城市' end ) as '工作地址'
from emp;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

课堂练习:环境体验——Linux 文件操作命令

任务描述 第二个任务就是了解Linxu的文件查看命令,文件编辑基本命令。 相关知识 为了完成本关任务,你需要掌握: 1.文件查看命令。 2.文件编辑基本命令。 文件查看命令 我们要查看一些文本文件的内容时,要使用文本编辑器来查看…

vue3+ts白屏问题解决

文章目录 打开白屏解决方法可能出现问题使用base导致的使用baseUrl导致的 注意点vue3ts白屏问题知识分享 打开白屏 解决方法 在vue.config.js页面 添加publicPath:./, const { defineConfig } require(vue/cli-service)module.exports defineConfig({ transpileDependenci…

MATLAB:优化与规划问题

一、线性规划 % 线性规划(Linear programming, 简称LP) fcoff -[75 120 90 105]; % 目标函数系数向量 A [9 4 7 54 5 6 105 10 8 53 8 9 77 6 4 8]; % 约束不等式系数矩阵 b [3600 2900 3000 2800 2200]; % 约束不等式右端向量 Aeq []; % 约束等式系…

搭建本地局域网域名并配置本地的mqtt服务器

1. 第一步: 首先准备一台windows电脑,安装 Technitium DNS Server 链接如下: Technitium DNS Server | An Open Source DNS Server For Privacy & Security 启动 start 然后进入 http://localhost:5380/ 下载完成之后,需要…

数字三角形 Number Triangles

题目描述 观察下面的数字金字塔。 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 在上面的样例中,从 7 → 3 → 8 → 7 → 5 7 \to 3 \to 8 \to 7 \to 5 7→3→8→7→5 的…

【JAVAEE学习】探究Java中多线程的使用和重点及考点

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

vue 内嵌第三方网页

需要将另一个系统嵌套到当前网页中 一、frame 方法一就是通过html的标签 iframe 实现网页中嵌入其他网站 标签属性 属性含义src嵌套的网页地址width设置嵌套网页的宽度,单位为像素height设置嵌套网页的高度,单位为像素frameborder控制嵌套的网页是否…

【CC工具箱1.2.5】更新_免费无套路,70+个工具

CC工具箱目前已经更新到1.2.5版本,完全免费无套路。 适用版本ArcGIS Pro 3.0及以上。 欢迎大家使用,反馈bug,以及提出需求和意见,时间和能力允许的话我会尽量满足要求。 如有关于工具的使用问题和需求建议,可以加下…

使用unplugin-auto-import页面不引入api飘红

解决方案:. tsconfig.json文件夹加上 {"compilerOptions": {"target": "ES2020","useDefineForClassFields": true,"module": "ESNext","lib": ["ES2020", "DOM", &q…

使用Python进行微服务架构的设计与实现【第159篇—微服务架构】

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 使用Python进行微服务架构的设计与实现 在当今软件开发领域中,微服务架构已经成…

结构体,联合体,枚举( 1 )

目录 前言 1.结构体 1.1结构体的声明 1.2结构体变量的创建和初始化 1.3结构体成员的访问字符 1.4结构体的内存大小 1.4.1对齐规则 1.5结构体传参 前言 在编程的世界里,数据结构的选择对于程序的效率和可读性有着至关重要的影响。不同的数据结构适用于不同的…

华为WATCH 4是怎么监测我们健康的?真的有用吗?

最近,总听到身边的朋友说手表帮他们发现了不少健康的问题,所以我也想整一个来试试看。看了很多款手表后,发现华为WATCH 4还挺符合我的需求,它有一系列超实用的健康监测功能,可以说是随身的健康小助手。 先来说说心脏…

企微侧边栏开发(内部应用内嵌H5)

一、背景 公司的业务需要用企业微信和客户进行沟通,而客户的个人信息基本都存储在内部CRM系统中,对于销售来说需要一边看企微,一边去内部CRM系统查询,比较麻烦,希望能在企微增加一个侧边栏展示客户的详细信息&#xf…

电脑最高可以装多少内存?电脑内存怎么装?

大家好,我是来自兼容性之家的! 通常我们的家用电脑主机有8到16GB的运行内存。 极少数高端用户会使用32至64GB内存。 比较高端的工作站的内存在128GB左右。 同时,家用电脑的硬盘容量约为1TB。 那么你有没有想过一台电脑可以拥有的最大内存量…

网站业务对接DDoS高防

准备需要接入的网站域名清单,包含网站的源站服务器IP(仅支持公网IP的防护)、端口信息等。所接入的网站域名必须已完成ICP备案。如果您的网站支持HTTPS协议访问,您需要准备相应的证书和私钥信息,一般包含格式为.crt的公…

Kafka入门到实战-第二弹

Kafka入门到实战 Kafka快速开始官网地址Kafka概述Kafka术语Kafka初体验更新计划 Kafka快速开始 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https://kafka.apache.org/Kafka概述 Apache Kafka 是一个开源的分布式事件流…

AI写作工具哪家强?推荐11款AI写作生成器

AI写作工具近年来在技术的不断进步和应用的不断拓展下,逐渐成为人们创作、撰写的得力助手。然而,市面上涌现出的众多AI写作生成器,究竟哪家强呢?以下是11款方便实用的AI写作生成器,它们提供了快速、智能的写作功能&…

今天是我和 “代码” 分手的第100天...

smardaten迎来了一位特殊用户——杨钏,一名去年刚毕业的Java开发工程师。 进入的第一家ISV公司在与数睿数据达成长期合作的战略背景下,从现有开发人马中抽出成员,创建了由smardaten无代码工具完成交付的项目团队。 杨钏作为公司近年入职的新…

vue总结

vue create wuliu vue-router label 安装依赖,封装axios npm install axios --save-dev koa2 -e wuliuserver cd wuliuserver npm install 跨域: npm install koa-cors //wuliuserver/app.js下应当有: const cors require(koa-cors) app.us…

网文作者涌入影视圈:长剧VS短剧,下一个掘金点在哪?

《与凤行》,不出意外是高开低走了。 赵丽颖重回古偶赛道、“星玥cp”时隔七年再次合作,《与凤行》上线之前调子唱得相当高,首播拿下了酷云收视卫视第一,开播次日腾讯站内热度突破3万,开局成绩是达到预期的。 但《与凤…