函数
日期函数
在日期的基础上加日期:
在日期的基础上减去时间:
计算两个日期之间相差多少天:
案例:
create table tmp(
id int primary key auto_increment,
birth date
);
--添加当前日期
insert into tmp(birthday) values(current_date());
案例2:
创建一个留言表
create table msg( id int primary key auto_increment,message varchar(10), time datetime );
显示所有留言信息,发布日期只显示日期,不用显示时间
请查询在2分钟内发布的帖子
字符串函数
获取msg表的message列的字符集
select charset(列名) from 表名;
要求显示exam_result表中的信息,显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX分”
select concat(name, '的语文是',chinese,'分,数学是',math,'分') as '分数' from exam_result;
求学生表中学生姓名占用的字节数
select length(name), name from exam_result;
- 注意:length函数返回字符串长度,以字节为单位。如果是多字节字符则计算多个字节数;如果是单字节字符则算作一个字节。比如:字母,数组算作一个字节,中文表示多个字节数(与字符集编码有关)
将exam_result表中所有名字中有孙的替换成’王’
select replace(name, '孙', '王') ,name from exam_result;
截取表中name字段的第二个到第三个字符
select substring(name, 2, 2), name from exam_result;
以首字母小写的方式显示所有人的姓名
select concat(lcase(substring(name, 1, 1)),substring(name,2)) from exam_result;
select strcmp();
trim();
数学函数
绝对值
select abs(-108.9);
向上取整
select ceiling(27.24);
向下取整
select floor(22.9);
保留2位小数位数(小数四舍五入)
select format(17.7356, 2);
生成随机数
select rand();
其他函数
user() 查询当前用户
select user();
md5(str)对一个字符串进行md5摘要,摘要后得到一个32位字符串
select md5('hello');
database()显示当前正在使用的数据库
select database();
password()函数,MySQL数据库使用该函数对用户加密
select password('root');
ifnull(val1, val2) 如果val1为null,返回val2,否则返回val1的值
select ifnull('abc', '123');
select ifnull(null, '123');
select ifnull(null, null);