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

MySQL之内置函数

目录

一、日期函数

二、字符串函数

三、数学函数

四、其它函数


一、日期函数

常见的日期函数如下:

函数名称说明
current_date()获取当前日期
current_time()获取当前时间
current_timestamp()获取当前时间戳
date_add(date, interval d_value_type)在date中添加日期或时间,interval后的数值单位可以是:year、month、day、hour、minute、second
date(datetime)获取datetime参数的日期部分
date_sub(date, interval d_value_type)在date中减去日期或时间,interval后的数值单位可以是:year、month、day、hour、minute、second
datediff(date1, date2)获取两个日期的差,单位是天
now()获取当前日期时间

具体使用说明:

~ current_date函数

该函数的作用是获取当前的日期,也就是年-月-日的格式。

mysql> select current_date();

在Linux下获取的日期如下: 

而我在写这一篇博客的时候,其日期与获取到的日期相同:

~ current_time函数

该函数的作用是获取当前的时间,也就是时-分-秒的格式。

mysql> select current_time();

~ current_timestamp函数

该函数的作用是获取当前的时间戳,也就是年-月-日-时-分-秒的格式,以日期时间格式进行显示。

mysql> select current_timestamp();

~ now函数

now函数的作用是获取当前的日期时间。如下:

mysql> select now();

~ date函数

该函数的作用是获取datetime参数的日期部分,也就是对于 年-月-日-时-分-秒 的格式,该函数可以把其转换成 年-月-日 的格式。

mysql> select date('2023-10-01 09:36:40');

我们也可以让date函数和now函数搭配使用,就可以获得当前的日期。这样看来,其作用就和current_date函数相同了。

~ date_add函数

date_add函数的作用是在一个日期的基础上添加日期或时间。如下:

可以加上天数:

mysql> select date_add(current_date(), interval 5 day);

也可以加上时分秒:

mysql> select date_add('2024-8-16 12:36:40', interval 5 second);

如果在date_add函数中添加的日期/时间为负值,则相当于在日期的基础上减去日期/时间。如下:

~ date_sub函数 

date_sub函数的作用是在日期的基础上减去日期或时间。如下:

mysql> select date_sub('2024-8-16 12:36:40', interval 5 second);

mysql> select date_sub('2024-8-16', interval 5 day);

 

同样的,如果在date_sub函数中减去的日期/时间为负值,则相当于在日期的基础上添加日期/时间。 

~ datediff函数

datediff函数的作用是获取两个日期的差(前者减去后者),单位是天。如下:

mysql> select datediff('2024-8-16','2004-3-17');

二、字符串函数

常见的字符串函数如下:

函数名称说明
charset(str)获取字符串使用的字符集
concat(str1, str2 [, …])获取连接后的字符串
instr(str, substr)获取substr在str中首次出现的位置,没有出现返回0
ucase(str)获取转换成大写后的字符串
lcase(str)获取转换成小写后的字符串
left(str, length)从字符串的左边开始,向后截取length个字符
length(str)获取字符串占用的字节数
replace(str, search_str, replace_str)将字符串中的search_str替换成replace_str
strcmp(str1, str2)逐字符比较两个字符串的大小
substring(str, position [, length])从字符串的position开始,向后截取length个字符
ltrim(str)、rtrim(str)、trim(str)去除字符串的前空格、后空格、前后空格

具体使用说明: 

~ charset 函数

该函数的作用是获取字符串使用的字符集。

mysql> select charset('a');

mysql> select charset('你好');

~ concat 函数 

该函数的作用是获取连接后的字符串。也就是把多个字符串拼接在一起。

~ instr 函数

instr函数的作用是获取一个字符串在另一个字符串中首次出现的位置,如果没有出现则返回0。如下:MySQL中,字符串下标从1开始。

mysql> select instr('中国,美国,德国','美国');
mysql> select instr('中国,美国,德国','国');

没有出现的情况:

~ ucase 函数

ucase函数的作用是可以将字符串转换成大写后的字符串。如下:

mysql> select ucase('dfefefewf');

~ lcase 函数

lcase函数的作用是可以将字符串转换成小写后的字符串。如下:

mysql> select lcase('cdeCDCV');

~ left 函数

left函数的作用是从字符串的左边开始(也就是下标为1的位置),向后截取指定个数的字符。如下:

mysql> select left('csewdwec',4);

~ length 函数

length函数的作用是获取字符串占用的字节数。如下:

mysql> select length('cdscds');
mysql> select length('中国');

~ replace 函数

replace函数的作用是将字符串中的指定子字符串替换成另一个字符串,如下:

mysql> select replace('中国,美国,德国,英国','美','漂亮');

~ strcmp 函数

strcmp函数用于逐字符按照ASCII码比较两个字符串的大小,两个字符串大小相等返回0,前者大返回1,后者大返回-1。如下:

~ substring 函数

substring函数用于从字符串的指定位置开始,向后截取指定个数的字符。如下:

mysql> select substring('fvefeferf',2,4);

使用substring函数时,如果没有指定要截取的字符个数,则默认从指定位置开始截取到最后。如下:

mysql> select substring('fvefeferf',2);

~ ltrim、rtrim、trim 函数

trim函数用于去除字符串的前后空格。如下:

mysql> select trim('         refe          ') 结果;

ltrim和rtrim函数分别用于去除字符串的前空格和后空格。如下:

mysql> select ltrim('           dfe') 结果;
mysql> select rtrim('dfe           ') 结果;

三、数学函数

常见的数学函数如下:

函数名称说明
abs(number)绝对值函数
bin(decimal_number)十进制转换成二进制
hex(decimal_number)十进制转换成十六进制
conv(number, from_base, to_base)from_base进制转换成to_base进制
ceiling(number)向上取整
floor(number)向下取整
format(number, n)格式化,保留n位小数(四舍五入)
rand()生成随机浮点数,范围 [0.0, 1.0)
mod(number, denominator)求余

具体使用说明:

~ abs函数

abs函数用于获取一个数的绝对值。如下:

~ bin函数

bin函数用于将一个十进制数转换成二进制。如下:

~ hex函数

hex函数的作用是将一个十进制数转换成十六进制。如下:

~ conv函数

conv函数的作用是将一个数从一个进制转换成另一个进制。如下:

~ ceiling函数和floor函数

ceiling函数叫做向上取整,floor叫做向下取整。

三种取整方式:

ceiling函数的作用是对一个数进行向上取整。如下:

floor函数的作用是对一个数进行向下取整。如下: 

~ format函数

format函数的作用是对数值进行格式化显示,以四舍五入的方式保留指定位数的小数。如下:

~ rand函数

rand函数的作用是生成0.0到1.0的随机浮点数。如下:

如果想要生成0到100的随机数,可以用生成的随机浮点数乘以100,如下:

同样的,可以使用format对其进行格式化显示:

~ mod函数 

mod函数的作用是对数值进行求余运算。如下:

四、其它函数

~ user函数

user函数的作用是获取MySQL连接的当前用户名和主机名。如下:

~ md5函数

md5函数的作用是对一个字符串进行md5摘要,如下:无论是多长的字符串,摘要后得到的字符串都是32位的字符串。

~ password函数

password函数用于对用户数据进行加密。如下:

~ ifnull函数

ifnull函数接受两个参数,如果第一个参数不为null则返回第一个参数值,否则返回第二个参数值。如下:

相关文章:

MySQL之内置函数

目录 一、日期函数 二、字符串函数 三、数学函数 四、其它函数 一、日期函数 常见的日期函数如下: 函数名称说明current_date()获取当前日期current_time()获取当前时间current_timestamp()获取当前时间戳date_add(date, interval d_value_type)在date中添加日…...

JVM 基本组成

1.为什么要学习JVM? 未来在工作场景中,也许你会遇到以下场景:线上系统突然宕机,系统无法访问,甚至直接OOM;线上系统响应速度太慢,优化系统性能过程中发现CPU占用过高,原因也许是因为…...

Ubuntu 离线安装 docker

1、下载离线包,网址:https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/ 离线安装docker需要下载3个包,containerd.io ,docker-ce-cli,docker-ce 2、下载完毕后拷贝到ubuntu上用 dpkg 命令安装&am…...

【C++】set详解

📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…...

C++游戏开发:构建高性能、沉浸式游戏体验的关键

引言 C作为游戏开发的核心语言,凭借其卓越的性能和灵活性,已成为许多现代游戏引擎和开发项目的首选。在游戏开发中,C不仅可以实现复杂的游戏逻辑,还能有效管理资源和优化性能。本文将深入探讨C在游戏开发中的应用,结合…...

【STM32开发笔记】移植AI框架TensorFlow到STM32单片机【上篇】

【STM32开发笔记】移植AI框架TensorFlow到STM32单片机【上篇】 一、TFLM是什么?二、TFLM开源项目2.1 下载TFLM源代码2.2 TFLM基准测试说明2.3 TFLM基准测试命令 三、TFLM初步体验3.1 PC上运行Keyword基准测试3.2 PC上运行Person detection基准测试3.3 No module nam…...

第三方供应商不提供API接口?教你四步破解集成难题

API开放需求 在企业数字化转型过程中,异构系统之间的连接是信息化阶段不可或缺的一环。通过应用API,企业能够实现不同系统、平台和应用之间的数据交换与功能调用,从而形成端到端的业务流程协同。然而,很多企业在集成第三方供应商…...

WebAssembly 为什么能提升性能,怎么使用它 ?

文章目录 简介:起源:前端性能提升历史JIT(Just-In-Time)编译器(即时编译) 为什么需要WebAssembly:WebAssembly能做什么:经常说WASM的性能高,为什么高??使用方法:Emscript…...

golang学习笔记13-函数(二):init函数,匿名函数,闭包,defer

注:本人已有C,C,Python基础,只写本人认为的重点。 这个知识点基本属于go的特性,比较重要,需要认真分析。 一、init函数 每个文件都可以定义init函数,它会在main函数执行前被调用,无论它的定义…...

HAproxy,nginx实现七层负载均衡

环境准备: 192.168.88.25 (client) 192.168.88.26 (HAproxy) 192.168.88.27 (web1) 192.168.88.28 (web2) 192.168.88.29 (php1) 192.168.88.30…...

ps aux | grep smart_webrtc这条指令代表什么意思

这条指令是在Linux系统中使用的命令,它的含义是列出所有正在运行的进程,并通过grep命令筛选出包含"smart_webrtc"关键字的进程。 具体解释如下: ps 是一个用于报告当前系统进程状态的命令。aux 是ps命令的选项,其中&a…...

第十三届蓝桥杯真题Python c组D.数位排序(持续更新)

博客主页:音符犹如代码系列专栏:蓝桥杯关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 问题描述 小蓝对一个数的数位之和很感兴趣, 今天他要按照数位之和给数排序。…...

【RabbitMQ】RabbitMq消息丢失、重复消费以及消费顺序性的解决方案

RabbitMq消息丢失主要是有三种情况:生产者消息未发送到服务端、服务端消息没有做持久化导致丢失、消费端未收到消息。解决方案依次如下: 开启事务或使用确认机制。对于一些重要的消息,生产者可以开启事务,确保消息发送成功后再提…...

海陆钻井自动化作业机器人比例阀放大器

海陆钻井自动化作业机器人是现代海洋石油勘探与钻井领域的关键装备,它通过自动化和无人化技术显著提高了钻井效率和安全性。海陆钻井自动化作业机器人主要用于在海上和陆地的钻井平台上进行自动化、无人化的一体化作业。这种设备能够自动切换钻杆,极大地…...

golang学习笔记19-面向对象(一):面向对象的引入

注:本人已有C,C,Python基础,只写本人认为的重点。 这节开始就是面向对象的内容了,为方便复用结构体等类型,本人定义了一个utils包,用于定义这些类型,之后的文章也会用到,希望读者注意…...

【从零开始实现stm32无刷电机FOC】【实践】【7.1/7 硬件设计】

目录 stm32电路磁编码器电路电机驱动电路电流采样电路电机选择本文示例硬件说明 为了承载和验证本文的FOC代码工程,本节设计了一个简易的三相无刷电机 硬件套件,主控采用非常常用的stm32f103c8t6单片机,电机编码器采用MT6701,电机…...

unix中父进程如何获取子进程的终止状态

一、前言 本文将介绍在unix系统中,父进程如何获取子进程的终止状态。本文主要围绕如下函数展开: 1.wait 2.waitpid 3.waitid 4.wait3、wait4 在讨论这些函数前,先介绍一个进程从创建到释放子进程的过程。 二、子进程的创建以及终止 在unix…...

【ESP 保姆级教程】小课设篇 —— 案例:20240505_基于esp01s的局域网控制灯

忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2024-09-30 ❤️❤️ 本篇更新记录 2023-09-30 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝&#x1f64…...

Qt如何将外部窗口嵌入部件中

一、简述 今天给大家讲解的是使用QWindow类通过窗口句柄将外部的应用程序嵌入到我们的部件中来显示。在讲解之前可以延伸一下,当时项目中使用QProcess启动一些本地软件或者执行脚本时,需要将启动的第三方窗口嵌入到我们自己写的窗口中,此时我…...

2024年9月30日随笔

今天是国庆假期前的最后一天了,刚上完课,坐在实验室的工位前,感到焦虑又无奈,11月9号,网络规划工程师软考考试,学了一部分了,感觉有些难,还有一个月多一点点的时间,不知道…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...

如何在网页里填写 PDF 表格?

有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据&#xff…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...

医疗AI模型可解释性编程研究:基于SHAP、LIME与Anchor

1 医疗树模型与可解释人工智能基础 医疗领域的人工智能应用正迅速从理论研究转向临床实践,在这一过程中,模型可解释性已成为确保AI系统被医疗专业人员接受和信任的关键因素。基于树模型的集成算法(如RandomForest、XGBoost、LightGBM)因其卓越的预测性能和相对良好的解释性…...

游戏开发中常见的战斗数值英文缩写对照表

游戏开发中常见的战斗数值英文缩写对照表 基础属性(Basic Attributes) 缩写英文全称中文释义常见使用场景HPHit Points / Health Points生命值角色生存状态MPMana Points / Magic Points魔法值技能释放资源SPStamina Points体力值动作消耗资源APAction…...

python读取SQLite表个并生成pdf文件

代码用于创建含50列的SQLite数据库并插入500行随机浮点数据,随后读取数据,通过ReportLab生成横向PDF表格,包含格式化(两位小数)及表头、网格线等美观样式。 # 导入所需库 import sqlite3 # 用于操作…...

VSCode 没有添加Windows右键菜单

关键字:VSCode;Windows右键菜单;注册表。 文章目录 前言一、工程环境二、配置流程1.右键文件打开2.右键文件夹打开3.右键空白处打开文件夹 三、测试总结 前言 安装 VSCode 时没有注意,实际使用的时候发现 VSCode 在 Windows 菜单栏…...

Oracle实用参考(13)——Oracle for Linux物理DG环境搭建(2)

13.2. Oracle for Linux物理DG环境搭建 Oracle 数据库的DataGuard技术方案,业界也称为DG,其在数据库高可用、容灾及负载分离等方面,都有着非常广泛的应用,对此,前面相关章节已做过较为详尽的讲解,此处不再赘述。 需要说明的是, DG方案又分为物理DG和逻辑DG,两者的搭建…...