文章目录
一、日期函数
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位
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