一、日期函数
1.内容
函数名称 | 描述 |
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() | 当前日期时间 |
2.使用样例
2.1 获取当前年月日
2.2 获得时分秒
2.3 获取时间戳/当前时间
2.4 在当前时间上加10天后的时间
2.5 在当前时间上减去100天的时间
2.6 计算两个时间相差多少天
2.7 创建一张表,记录生日
2.8 创建一个留言板
实现:查找十分钟以内发表的评论
二、字符串函数
1.内容
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的postion开始,取length个字符 |
ltrim(string) rtrim(string) trim(string) | 去除前空格或后空格 |
2.使用样例
2.1 前提准备
在接下来的各种测试中,会用到一些测试用例,提前建立好的表格和一些数据内容
其中有一个学生成绩表,还有员工表(来自Oracle 9i经典测试表)
学生成绩表:
雇员信息表:
2.2 测试
(1) 获取emp表的ename列的字符集
(2)要求显示stu表中的信息,显示格式:“xxx的语文是xx分,数学xx分,英语xx分”
(3)求学生表中学生名字占用的字节数
(4)将EMP表中所有名字有S的替换成上海显示
(5)截取emp表中ename字段的第二个到第三个字符
(6)以首字母小写的方式显示所有员工的名字
三、数学函数
1.内容
函数名称 | 描述 |
abs(number) | 绝对值函数 |
bin(decimal_number) | 十进制转换二进制 |
hex(decimal_number) | 十进制转换十六进制 |
conv(number,from_base,to_base) | 进制转换 |
ceiling(number) | 向上取整 |
floor(number) | 向下取整 |
format(number,decimal_places) | 格式化,保留小数位数 |
rand() | 返回随机数,范围[ 0.0 , 1.0 ) |
mod(number,denominator) | 取模,求余 |
2.使用样例
四、其他函数
这部分结合实际测试样例整理介绍
1.内容
1.1 user()
查询当前用户
1.2 database()
查询当前所在数据库
1.3 md5('password')
一般用于对密码(字符串)进行加密,加密后固定32位大小字符串
1.4 password('str')
用于对密码进行加密,比起md5更加复杂,同样加密后固定长度41位
1.5 ifnull(val1,val2)
使用上有点像C语言中的三目运算符,若是val1不为NULL,则返回val1,若是val1为NULL,则返回val2
总结
本篇总结了MySQL中的部分常用的内置函数,进行了部分的测试和使用方法的举例说明