当前位置: 首页 > 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号,网络规划工程师软考考试,学了一部分了,感觉有些难,还有一个月多一点点的时间,不知道…...

springboot+satoken实现刷新token(值变化)

欢迎来到我的博客,代码的世界里,每一行都是一个故事 🎏:你只管努力,剩下的交给时间 🏠 :小破站 springbootsatoken实现刷新token satoken是什么?支持什么?为什么需要&…...

63.HDMI显示器驱动设计与验证-彩条实验

(1)常见的视频传输接口有三种: VGA 接口、 DVI 接口和 HDMI 接口,目前的显示设备都配有这三种视频传输接口。三类视频接口的发展历程为 VGA→DVI→HDMI。其中 VGA 接口出现最早,只能传输模拟图像信号; 随后…...

安卓13设置删除网络和互联网选项 android13隐藏设置删除网络和互联网选项

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改4.1修改方法14.2修改方法25.编译6.彩蛋1.前言 有些客户不想让用户修改默认的网络配置,禁止用户进入里面调整网络相关的配置。 2.问题分析 像这个问题,我们有好几种方法去处理,这种需求一般…...

C++的6种构造函数

在 C 中,构造函数是一种特殊的成员函数,用于初始化类对象。在对象创建时自动调用,构造函数的主要作用是分配资源、初始化数据成员等。根据不同的功能和使用场景,C 提供了多种类型的构造函数: 1. 默认构造函数 (Defaul…...

【FE】NPM——概述

NPM基本使用 下载Node 老生常谈&#xff0c;选择LTS版本官网放这里&#xff1a;https://nodejs.cn/download/ 1.镜像配置&#xff1a;镜像源 镜像配置 依赖仓库&#xff1a;版本查看 //不确定仓库有哪些版本&#xff0c;列出指定包的所有版本 npm view <package-name&…...

Clipboard.js实现复制文本到剪贴板功能

一、Clipboard.js简介 Clipboard.js是一个轻量级的实现复制文本到剪贴板功能的JavaScript插件&#xff0c;该插件可以将输入框&#xff0c;文本域&#xff0c;DOM节点元素中的文本内容复制到剪贴板中。 官网地址&#xff1a;Clipboard.js 浏览器兼容性&#xff1a;兼容Chrome、…...

Harbor安装笔记

下载离线安装包 wget https://github.com/goharbor/harbor/releases/download/v2.11.1/harbor-offline-installer-v2.11.1.tgz 解压 tar -zxvf harbor-offline-installer-v2.11.1.tgz 复制一份配置文件出来&#xff0c;修改配置 cp harbor.yml.tmpl harbor.yml vim harbor…...

HTTP 1.0 2.0 3.0详解

HTTP HTTP全称超文本传输协议&#xff0c;是一种属于应用层的通信协议。它允许将超文本标记语言文档&#xff08;HTML&#xff09;从Web服务器传输到客户端的浏览器。 HTTP报文结构 请求报文结构 请求方法&#xff1a; GET&#xff1a;一般用来请求已被URI识别的资源&#x…...

Python操作TXT文本:从入门到精通

在数字化时代,文本处理成为了许多工作和项目的基础。Python作为一种强大且易学的编程语言,在文本处理方面展现出了无与伦比的优势。本文将通过举例的方式,向读者介绍如何使用Python来操作TXT文本,让您轻松掌握文本处理的精髓。 一、读取TXT文本内容 首先,我们需要学会如…...

开源 AI 智能名片 2+1 链动模式 S2B2C 商城小程序的数据运营策略与价值创造

一、引言 1.1 研究背景 在当今数字化时代&#xff0c;数据运营已成为企业发展的核心驱动力。开源 AI 智能名片 21 链动模式 S2B2C 商城小程序作为一种创新的营销工具&#xff0c;与数据运营紧密相连。该小程序通过集成人工智能、大数据分析等先进技术&#xff0c;能够实时收集…...

怎样建设网站论文/西安seo推广

分享一个大牛的人工智能教程。零基础&#xff01;通俗易懂&#xff01;风趣幽默&#xff01;希望你也加入到人工智能的队伍中来&#xff01;请点击http://www.captainbed.net package chimomo.learning.java.datastructure;/*** author Created by Chimomo*/ public class Si…...

建设银行内部网站/百度搜索排名

AFNetworking和ASIHTTPRequest&#xff0c;大致如下&#xff1a; 使用上&#xff1a;AFN是用上较ASI略简单&#xff0c;但扩展不如ASI;AFN能按普通的block写法直接用闭包的写法&#xff0c;但是ASI不行&#xff0c;这样ASI的代码就比较松散&#xff1b; 效率&#xff1a;AFN基于…...

wordpress登陆可见插件/整站优化外包服务

C# .Net 多进程同步 通信 共享内存 内存映射文件 Memory Mapped 转 节点通信存在两种模型&#xff1a;共享内存&#xff08;Shared memory&#xff09;和消息传递&#xff08;Messages passing&#xff09;。 内存映射文件对于托管世界的开发人员来说似乎很陌生&#xff0c;但它…...

做任务领黄钻的网站/网络运营培训

删除逻辑 boolean del(taskName任务名称, busNo业务编号) keyqlscf_taskName_busNo 如果key存在 getRedisTemplate().delete(key) 获取逻辑 boolean get(taskName任务名称, busNo业务编号) keyqlscf_taskName_busNo 如果key存在 取出redis中key对应的value&#xff1a;getRe…...

浙江网站建设电话/石家庄网站建设就找

最近有人问说&#xff0c;自我管理需要哪些工具。问题一出&#xff0c;群里一片热火朝天的&#xff0c;基本上还是在讨论Omnifocus和Doit.im哪个好、为知笔记和印象笔记哪个好。 我认为&#xff0c;一个问题的解决&#xff0c;要看逻辑、看思路&#xff0c;而不是比谁的声音响、…...

上海的广告公司网站建设/关键词工具

老李分享&#xff1a;测试金字塔&#xff0c;懂开发的测试工程师更有竞争力测试金字塔&#xff1a;金字塔分为5层&#xff1a;第一层是单元测试&#xff0c;是针对类库和程序集来进行测试&#xff1b;第二层是组件级测试&#xff0c;接口级的测试&#xff1b;第三层是服务级测试…...