MySQL - 函数

news2024/11/24 7:45:45

1.1 什么是函数?

要想实现上面的这些效果,就得借助于MySQL当中的内置函数

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

MySQL当中内置了很多的函数,根据其操作的数据类型,分为以下四类:

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

1.2 字符串函数

函数功能
char_length(s)返回字符串的字符长度
concat(s1,s2,... sn)字符串拼接,将s1,s2,... sn拼接成一个字符串
concat_ws(sep,s1,s2,... sn)字符串拼接,将s1,s2,... sn拼接成一个字符串,中间使用sep分隔
left(s,len)返回字符串左侧的len个长度的字符串
right(s,len)返回字符串右侧的len个长度的字符串
substring(str,start,len)返回字符串str从start位置起的len个长度的字符串[注意:start从1开始]
-- MySQL函数:
-- 字符串函数
-- 1. char_length(s) 返回字符串的字符长度
select name,char_length(name) from tb_emp;

-- 2. concat(s1,s2,...sn) 字符串拼接,将s1,s2,...sn拼接成一个字符串
select concat(id,'-',name) from tb_emp;

-- 3. concat_ws(sep,s1,s2,...sn) 字符串拼接,将s1,s2,...sn拼接成一个字符串,中间使用sep分隔
select concat_ws(' - ',username,name) from tb_emp;

-- 4. left(s,len) 返回字符串左侧的len个长度的字符串
select left(username,5) from tb_emp;

-- 5. right(s,len) 返回字符串右侧的len个长度的字符串
select right(username,5) from tb_emp;

-- 6. substring(str,start,len) 返回字符串str从start位置起的len个长度的字符串
-- 比如:我想查询每一个员工的姓氏
select substring(name,1,1) from tb_emp;

1.3 数值函数  

函数功能
ceil(x)向上取整
floor(x)向下取整
rand()返回0~1内的随机数
round(x,y)求参数x的四舍五入的值,保留y位小数
-- 数值函数
-- select后面如果没有指定任何的from的话,代表我们不需要从表当中来查询
-- 1. ceil(x) 向上取整
select ceil(2.1); -- 3

-- 2. floor(x) 向下取整
select floor(2.9); -- 2

-- 3. rand() 返回0~1内的随机数
select rand(); -- 0.632749031887156

-- 4. round(x,y) 求参数x的四舍五入的值,保留y位小数
select round(2.453,2); -- 2.45

1.4 日期函数 

日期时间类型的函数 

函数功能
now()返回当前日期和时间
curdate()返回当前日期
curtime()返回当前时间
year(date)获取指定date日期的年份
month(date)获取指定date的月份
day(date)获取指定date的日期
datediff(date1,date2)返回起始时间date1和结束时间date2之间的天数
date_format(date,format)日期时间格式化
-- 日期时间类型的函数
-- 1. now() 返回当前日期和时间
select now(); -- 2023-09-01 19:02:40

-- 2. curdate() 返回当前日期
select curdate(); -- 2023-09-01

-- 3. curtime() 返回当前时间
select curtime(); -- 19:02:59

-- 4. year(date) 获取指定date日期的年份
select year('2023-02-05 00:09:45'); -- 2023

-- 5. month(date) 获取指定date的月份
select month('2023-02-05 00:09:45'); -- 2

-- 6. day(date) 获取指定date的日期
select day('2023-02-05 00:09:45'); -- 5

-- 7. datediff(date1,date2) 返回起始时间date1和结束时间date2之间的天数
select datediff('2002-07-08 00:09:45','2023-08-14 00:09:45'); -- 7707

-- 8. date_format(date,format) 日期时间格式化
-- format函数多的一批,鼠标往上一悬浮,会自动提示
select date_format('2002-07-08 00:09:45','%Y'); -- 2022

-- 需求:获取2015年入职的员工
select * from tb_emp where year(entrydate) = '2015';

1.5 流程控制函数 

函数功能
if(value,t,f)如果value为true,则返回t,否则返回f
ifnull(value1,value2)如果value1不为空,返回value1,否则返回value2
case when cond1 then res1 ... [else result] end如果cond1为true,返回res1,... 否则返回result默认值
case expr when val1 then res1 ... [else result] end如果expr的值等于val1,返回res1,... 否则返回result默认值

 

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

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

相关文章

vue之若依字典的导入使用(不直接使用若依框架,只使用若依字典)

vue之若依字典的导入使用 若依官网:http://ruoyi.vip 若依演示地址:http://vue.ruoyi.vip 若依代码下载:https://gitee.com/y_project/RuoYi-Vue 以上地址是若依的相关地址,可以下载前后端分离版的若依前后端代码。 如果你不想直…

【附安装包】Multisim 14.0安装教程|电子电路

软件下载 软件:Multisim版本:14.0语言:简体中文大小:649.68M安装环境:Win11/Win10/Win8/Win7硬件要求:CPU2.5GHz 内存4G(或更高)下载通道①百度网盘丨64位下载链接:https://pan.bai…

深度学习基础篇 第二章: 转置卷积

参考教程: https://arxiv.org/pdf/1603.07285.pdf 文章目录 什么是转置卷积转置卷积的思想一维形式的理解二维形式的理解卷积和转置的关系no pading, unit stridespadding, unit stridesno padding, non-unit stridepadding,non-unit stride pytorch中的…

ububtu部署bind-dns 问题

启动(重启)命令如下: sudo systemctl restart bind9查看状态命令如下: sudo systemctl status bind9停止命令如下: sudo systemctl stop bind9#配置自己的域 要修改一下路径的文件(named.conf.local): 在这个文件named.conf.loca…

java从入门到起飞(六)——用Socket实现网络通信

文章目录 背景网络编程网络编程三要素 2.DatagramSocket之UDP通信程序2.1 UDP发送数据2.2UDP接收数据2.3 3. Socket之TCP通信程序3.1TCP发送数据3.2TCP接收数据 背景 网络编程 ● 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线…

开始MySQL之路——MySQL 函数(详细讲解)

MySQL 函数 在MySQL中,为了提高代码重用性和隐藏实现细节,MySQL提高了很多函数。函数可以理解为别人封装好的模块代码。 在MySQL中,函数非常多,主要可以分为以下大类: 聚合函数:这类函数就是用来做简单的…

[深度学习]1. 深度学习知识点汇总

本文记录了我在学习深度学习的过程中遇到过的不懂的知识点,为了方便翻阅,故将其发表于此,随时更新,供大家参考。 深度学习常见知识点 1. 测试精度和训练精度 在深度学习中,测试精度和训练精度是两个重要的指标&#…

408考研-数据结构算法-双链表

双向链表的存储方式 双向链表跟链表差不多,只是它每个结点都含有两个链——一个指向下一结点,另一个指向前一结点。此外,它还能直接访问第一个和最后一个结点。 单链表只能向后操作,不可以向前操作。为了向前、向后操作方便&…

表白墙程序

目录 一、页面代码部分 二、设计程序 二、实现 doPost​编辑 三、实现 doGet 四、前端代码部分 五、使用数据库存储数据 一、页面代码部分 在之前的一篇博客中&#xff0c;已经写过了表白墙的页面代码实现&#xff0c;这里就不再重复了 页面代码如下&#xff1a; <!…

【Vue2】 axios库

网络请求库-axios库 认识Axios库为什么选择Axios库安装Axios axios发送请求常见的配置选项简单请求可以给Axios设置公共的基础配置发送多个请求 axios创建实例为什么要创建axios的实例 axios的拦截器请求拦截器响应拦截器 axios请求封装 认识Axios库 为什么选择Axios库 在游览…

git学习笔记 | 版本管理 - 分支管理

文章目录 git学习笔记Git是什么仓库常见的命令commit 备注规范在文件下设置git忽略文件 .gitignore 版本管理git log | git reflog 查看提交日志/历史版本版本穿梭 git resetgit reset HEAD <file> git checkout -- fileName 丢弃工作区的修改git revertGit恢复之前版本的…

海格里斯HEGERLS高密度料箱式四向穿梭车存储系统有哪些显著优势?

近些年仓储货架向着自动化、智能化发展&#xff0c;因此市面上出现很多不同类型的智能自动化仓储货架。其中&#xff0c;最受企业青睐的便是四向穿梭车货架。四向穿梭车货架根据其载重不同可分为托盘式和料箱式两大类。这两种不同类型的四向穿梭车货架在结构形式和控制方式上基…

Ubuntu20.04下安装google输入法

Ubuntu20.04下安装google输入法 1、添加中文语言支持 打开 系统设置——区域和语言——管理已安装的语言——在“语言”tab下——点击“添加或删除语言” 弹出“已安装语言”窗口&#xff0c;勾选中文&#xff08;简体&#xff09;&#xff0c;点击应用 回到“语言支持”窗…

日本橙皮书数据库—《医疗用医药品质量情报集》

日本橙皮书是一份关于医疗用医药品质量情报的汇总报告&#xff0c;由日本厚生劳动省发布。它主要涵盖了药品的品质再评价信息&#xff0c;特别是针对特定历史阶段的产品&#xff0c;笔者总结信息如下&#xff1a; ①日本橙皮书数据库包含了一系列药品的详细信息&#xff0c;如…

一句话画出动漫效果

链接&#xff1a; AI Comic Factory - a Hugging Face Space by jbilcke-hfDiscover amazing ML apps made by the communityhttps://huggingface.co/spaces/jbilcke-hf/ai-comic-factory 选择类型&#xff1a; Japanese 输入提示词&#xff1a; beauty and school love st…

视频云存储/安防监控/视频AI智能分析网关V3:消防器材缺失检测功能详解

在我们的日常生活中&#xff0c;消防器材是必不可少的&#xff0c;无论是在学校、园区还是工厂里&#xff0c;都需要摆放消防器材&#xff0c;做好防范措施&#xff0c;降低安全隐患。但有时也需防备消防器材被人为挪动甚至破坏&#xff0c;在危急时刻无法发挥作用。TSINGSEE青…

【kubernetes】Argo Rollouts -- k8s下的自动化蓝绿部署

蓝绿(Blue-Green)部署简介 在现代软件开发和交付中,确保应用程序的平稳更新和发布对于用户体验和业务连续性至关重要。蓝绿部署是一种备受推崇的部署策略,它允许开发团队在不影响用户的情况下,将新版本的应用程序引入生产环境。 蓝绿部署的核心思想在于维护两个独立的环…

lv3 嵌入式开发-1linux介绍及环境配置

目录 1 UNIX、Linux和GNU简介 2 环境介绍 3 VMwareTools配置 4 vim配置&#xff1a; 1 UNIX、Linux和GNU简介 什么是UNIX? unix是一个强大的多用户、多任务操作系统&#xff0c;支持多种处理器架构 中文名 尤尼斯 外文名 UNIX 本质 操作系统 类型 分时操作系统 开…

数据结构入门 — 栈

本文属于数据结构专栏文章&#xff0c;适合数据结构入门者学习&#xff0c;涵盖数据结构基础的知识和内容体系&#xff0c;文章在介绍数据结构时会配合上动图演示&#xff0c;方便初学者在学习数据结构时理解和学习&#xff0c;了解数据结构系列专栏点击下方链接。 博客主页&am…