文章目录
- 一、日期函数
-
- [1.1 获取当前的日期](#1.1 获取当前的日期)
- [1.2 获取当前时间](#1.2 获取当前时间)
- [1.3 获取当前日期和时间](#1.3 获取当前日期和时间)
- [1.4 提取时间日期](#1.4 提取时间日期)
- [1.5 添加日期](#1.5 添加日期)
- [1.6 减少日期](#1.6 减少日期)
- [1.7 两个日期的差值](#1.7 两个日期的差值)
- 二、字符串处理函数
-
- [2.1 获取字符串的长度](#2.1 获取字符串的长度)
- [2.2 获取字符串的字节数](#2.2 获取字符串的字节数)
- [2.3 字符串拼接](#2.3 字符串拼接)
- [2.4 转小写](#2.4 转小写)
- [2.5 转大写](#2.5 转大写)
- [2.6 子字符串第⼀次出现的索引](#2.6 子字符串第⼀次出现的索引)
- 三、数学函数
-
- [3.1 abs函数](#3.1 abs函数)
- [3.2 ceil 向上取整](#3.2 ceil 向上取整)
- [3.3 floor 向下取整](#3.3 floor 向下取整)
- [3.4 rand 随机数](#3.4 rand 随机数)
- [3.5 round函数](#3.5 round函数)
- 四、其他常用的函数
-
- [4.1 version](#4.1 version)
- [4.2 database](#4.2 database)
- [4.3 user](#4.3 user)
- [4.4 ifnull](#4.4 ifnull)
一、日期函数
1.1 获取当前的日期
curdate:获取当前的日期。加上英文更好记忆current datetime,表示当前的时间
在这里的函数也是可以搭配插入数据(例如存在一个date,datetime关于时间类型的列,在该列中插入数据可以直接使用该函数)。

也可以搭配查询进行使用。

1.2 获取当前时间
curtime:获取当前的时间
1.3 获取当前日期和时间
now():获取当前日期和时间
在这里时间函数都是可以搭配插入和查询进行使用的。
1.4 提取时间日期
DATE(data):提取date或datetime表达式的日期部分。像上面创建一个时间,可以进行提取出日期部分。

1.5 添加日期
在实际开发过程中,假如一不小心把生产日期填写错误,或者把出行时间填写错误,此时就可以通过adddate增加时间。
ADDDATE(date,INTERVAL expr unit):向日期值添加时间值(间隔)
表示增加10天
表示增加两个月

表示增加两天

1.6 减少日期
在实际开发过程中,假如一不小心把生产日期填写错误,或者把出行时间填写错误,此时就可以通过subdate增加时间。
减少一年
减少一个月
减少一天
1.7 两个日期的差值
计算两个日期的差值使用datediff(日期1,日期2)进行计算,以天为单位

二、字符串处理函数
2.1 获取字符串的长度
char_length(str):返回字符串的长度,也就是返回字符的个数。

2.2 获取字符串的字节数
在小编所写的MySQL开篇中创建数据库中说过,不同的字符串在不同的编码环境的单个字符的字节数是不同的,例如在utf8编码格式下是占3个字节,在GBK编码格式下是占2个字节。而获取字符串的字节数是可以通过数据库内置函数进行获取的。
length(str):返回给定字符串的字节数,与当前使用的字符编码集有关。

因为当前编码为utf8,所以两个字符占6个字节。
2.3 字符串拼接
concat(str1,str2.。。)返回拼接后的字符串
2.4 转小写
lcase(str)将字符串转成小写
2.5 转大写
ucase(str)将字符串转成大写
注意:
虽然数据库提供了这样的一些字符串操作,实际开发很少会直接在数据库中进行上述操作。因为数据库往往是配有一个后端系统的,在后端系统中,数据库操作是最慢的,因为他是在硬盘上进行操作的而不是在内存中。所以我们更应该让数据库做的工作更少一点,在上述关于字符串的处理,在java代码中完成,可以奸杀数据库服务器的负担。
2.6 子字符串第⼀次出现的索引
instr(str1,str2):返回str2在str1中第一次出现的位置

此处需要注意,得到的下标是从1开始计算的。
三、数学函数
3.1 abs函数
abs(x):返回x的绝对值
3.2 ceil 向上取整

3.3 floor 向下取整
很简单看单词意思来记住:floor地板,都在地板了肯定在下面
3.4 rand 随机数
生成一个随机浮点值,取值范围[0.0,1.0)

3.5 round函数
round(x,d)将参数x舍入小数点后d位,保留为四舍五入的方式

在这里就可以完成0到10的随机数生成了。在这里如果此时round参数只有一个x的时候就直接四舍五入了。

例子
舍弃到小数点后6位
sql
select round(rand(),6);

四、其他常用的函数
4.1 version
version函数作用是显示当前数据库的版本。查询到的是数据库服务器的版本号和客户端无关。像下面这些都属于客户端的版本号。

而像任务资源管理器中的服务中的才是服务器本身

4.2 database
database()函数显示当前正在使用的数据库。

4.3 user
user函数是显示当前用户的。
4.4 ifnull
ifnull(val1,val2)函数,如果val1为null,返回val2,否则返回val1