目录
一、日期函数
1、获得年月日
2、获得时分秒
3、获得时间戳
4、在日期的基础上加日期
5、在日期的基础上减去时间
6、计算两个日期之间相差多少天
7、案例
二、字符串函数
1、获取emp表的ename列的字符集
2、要求显示exam_result表中的信息
3、求学生表中学生姓名占用的字节数
4、将EMP表中所有名字中有S的替换成'上海'
5、截取EMP表中ename字段的第二个到第三个字符
6、以首字母小写的方式显示所有员工的姓名
三、数学函数
1、绝对值
2、向上取整
3、向下取整
4、保留2位小数位数(小数四舍五入)
5、 产生随机数
四、其他函数
1、user()
2、md5(str)
3、database()
4、password()
5、ifnull(val1, val2)
一、日期函数
1、获得年月日
select current_date();
2、获得时分秒
select current_time();
3、获得时间戳
select current_timestamp();
4、在日期的基础上加日期
select date_add('[指定日期]', interval [数字] [d_value_type]);
5、在日期的基础上减去时间
select date_sub('[指定日期]', interval [数字] [d_value_type]);
6、计算两个日期之间相差多少天
select datediff('[日期1]', '[日期2]');
7、案例
创建一个留言表:
插入数据:
显示所有留言信息,发布日期只显示日期,不用显示时间:
请查询在2分钟内发布的帖子:
二、字符串函数
1、获取emp表的ename列的字符集
select charset(ename) from EMP;
2、要求显示exam_result表中的信息
显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX分”:
select concat(name, '的语文是', chinese, '分,数学是', math, '分') '分数' from exam_result;
3、求学生表中学生姓名占用的字节数
select length(name), name from students;
注意:length函数返回字符串长度,以字节为单位。如果是多字节字符则计算多个字节数。如果是单字节字符则算作一个字节。比如:字母,数字算作一个字节,中文表示多个字节数(与字符集编码有关)。
4、将EMP表中所有名字中有S的替换成'上海'
select replace(ename, 'S', '上海') ,ename from EMP;
5、截取EMP表中ename字段的第二个到第三个字符
select substring(ename, 2, 2), ename from EMP;
6、以首字母小写的方式显示所有员工的姓名
select concat(lcase(substring(ename, 1, 1)),substring(ename,2)) from EMP;
三、数学函数
1、绝对值
select abs(-100.2);
2、向上取整
select ceiling(23.04);
3、向下取整
select floor(23.7);
4、保留2位小数位数(小数四舍五入)
5、 产生随机数
select rand();
四、其他函数
1、user()
查询当前用户:
2、md5(str)
对一个字符串进行md5摘要,摘要后得到一个32位字符串:
select md5('admin');
3、database()
显示当前正在使用的数据库:
4、password()
MySQL数据库使用该函数对用户加密:
5、ifnull(val1, val2)
如果val1为null,返回val2,否则返回val1的值。