【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 内置函数,提升数据库开发能力! 🚀

相关推荐
是懒羊羊吖~19 分钟前
【sql靶场】第23、25,25a关过滤绕过保姆级教程
数据库·笔记·sql·靶场
菜_小_白2 小时前
mysql连接池
linux·c++·mysql
littlegirll2 小时前
一个KADB测试实践
开发语言·数据库·测试用例·database
数据知道2 小时前
数据库:一文掌握 Elasticsearch 的各种指令(Elasticsearch指令备忘)
数据库·elasticsearch·jenkins
wjm0410062 小时前
mysql
数据库·mysql·oracle
IT邦德2 小时前
PostgreSQL用SQL实现俄罗斯方块
数据库·sql·postgresql
hrrrrb3 小时前
【MySQL】索引
android·数据库·mysql
七七powerful3 小时前
mysql & 磐维(opengauss)&tidb误删数据之高级恢复
数据库·mysql·tidb
饼子会飞3 小时前
Android 手机QQ聊天记录导出(NTQQ),解密聊天数据库
android·数据库·python·qq聊天记录·ntqq
akbar&4 小时前
计算机四级 - 数据库原理(操作系统部分)- 第5章「内存管理」
数据库·笔记·系统架构