【MySQL】内置函数

文章目录

日期函数

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

查看日期类的函数

current_date :

current_date可以显示当前的日期,年月日

current_time

current_time可以显示当前的时间

current_timestamp

current_timestamp可以显示当前的日期和时间

date

date函数只会显示年月日,相当于我传递一个年月日和时分秒的类型,会被强制转换为年月日,并输出

now

和current_timestamp差不多,也是返回当前日期和时间

与计算相关的日期类的函数

date_add

date_add也可以直接在内部嵌套函数,然后算多少天后是什么日期

interval除了可以跟day还可以跟minute,还可以跟second。

date_sub

date_sub和date_add相反,这个是算之前的时间。

datediff

这个是算两个时间段之间相隔了多少天

从这里可以发现,这个函数是前面的值减去后面的值,如果我们反过来应该是负数,不信我们可以试试。

字符串函数

函数名称 描述
charset(str) 返回字符串字符集
concat(string2 [, ...]) 连接字符串
instr(string, substring) 返回substring在string中出现的位置,没有返回0
ucase(string2) 转换成大写
lcase(string2) 转换成小写
left(string2, length) 从string2的左边起取length个字符
length(string) string的长度
replace(str, search_str, replace_str) 在str中用replace_str替换search_str
strcmp(string1, string2) 逐字符比较两个字符串大小
substring(str, position [, length]) 从str的position开始,取length个字符
ltrim(string) 去除前空格
rtrim(string) 去除后空格
trim(string) 去除前后空格

charset函数

charset会返回字符集

我们随便查一张表可以看见编译方式是utf8.

concat函数

concat函数用于连接两个字符或者字符串。

instr

instr会找到第二个参数在第一个参数中的位置,如果没有就返回0。

可以看见在9号位置,而且我们可以发现,这里不是像数组一样,从下标0开始的,而是从下标1开始的。

显示大写或者显示小写函数(ucase && lcase)

ucase会将获取的所有字符转化为大写字母,lcase会将所有获取到的字符转化为小写字母

left函数

从左边开始向右取字符

既然有left肯定就有right函数,从右边开始向左取length个字符。

length函数

输出字符串长度

replace函数

可以看见上面虽然替换了但是原本的表中的数据时不会改变的,只是展现出来了替换的效果。

substring函数

取出子串和C语言中的substring差不多。

三个trim函数

ltrim是去掉前空格,rtrim是去掉后空格,trim是去掉所有空格。

可以看一下效果:

数学函数

函数名称 描述
abs(number) 绝对值函数
bin(decimal_number) 十进制转换二进制
hex(decimalNumber) 转换成十六进制
conv(number, from_base, to_base) 进制转换
ceiling(number) 向上取整
floor(number) 向下取整
format(number, decimal_places) 格式化,保留小数位数
hex(decimalNumber) 转换成十六进制
rand() 返回随机浮点数,范围 [0.0, 1.0)
mod(number, denominator) 取模,求余

这些函数很简单,所以我们挑两个来讲解

mod函数

mod可以去摸:

向上取整和想下取整

向上取整和向下取整的区别:

取整方式 说明 示例
向上取整(ceiling) 总是向更大的整数取整(进一) ceil(3.2) = 4 ceil(-3.2) = -3
向下取整(floor) 总是向更小的整数取整(去尾) floor(3.8) = 3 floor(-3.8) = -4

搞懂了这个,我们来试一下:

conv(转换进制)

conv可以将任何数的任何进制转化为任何进制:

这里就是将10进制的124转化为二进制

其他函数

user函数

user函数可以看现在是谁在访问MySQL

ifnull函数

ifnull和三目运算符差不多,当第一个值不是null的时候就是第一个结果,当第一个是null的时候就选择第二个参数做结果:

总结

在本文中,我们重点介绍了 MySQL 的日期函数、字符串函数和数学函数,并分别讲解了它们的常见用法和实际应用场景。通过这些内置函数,我们可以更方便地处理日期计算、字符串操作和数学运算,从而提高 SQL 查询的效率和可读性。

掌握并合理使用这些函数,不仅能简化 SQL 语句,还能优化数据处理流程。在实际开发中,我们应根据具体需求选择合适的函数,以提高数据库操作的灵活性和效率。希望本文能帮助大家更深入地理解 MySQL 内置函数,提升数据库开发能力! 🚀

相关推荐
漠月瑾-西安2 分钟前
信创背景下的分布式数据库备份难题及解决之道
数据库·分布式·信创·数据备份
神仙别闹24 分钟前
基于QT(C++)实现(图形界面)校园导览系统
数据库·c++·qt
三流搬砖艺术家43 分钟前
Windows 下 MongoDB 安装指南
数据库·mongodb
文牧之1 小时前
PostgreSQL 的 pg_current_logfile 函数
运维·数据库·postgresql
kngines1 小时前
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】6.1 客户分群分析(RFM模型构建)
数据库·postgresql·数据分析·rfm模型·客户分群
Stark-C1 小时前
7400MB/s&5050TBW完美结合,全新希捷酷玩530R SSD体验评测
服务器·网络·数据库
小猪咪piggy1 小时前
【MySQL】(10)用户和权限管理
数据库·mysql
喵手1 小时前
Spring Boot 中的事务管理是如何工作的?
数据库·spring boot·后端
秀才恶霸2 小时前
04-redis
数据库·redis·缓存
Timmer丿2 小时前
AI开发跃迁指南(第三章:第四维度1——Milvus、weaviate、redis等向量数据库介绍及对比选型)
数据库·人工智能·milvus