目录
[一. 日期函数](#一. 日期函数)
[二. 字符串函数](#二. 字符串函数)
[三. 数学函数编辑](#三. 数学函数编辑)
[四. 其他函数](#四. 其他函数)
博客开始为各位读者介绍一个投递简历的平台:万码优才
专属于程序员的投递平台,大家快去试试吧!!!
此篇博客讲解MySQL中关于表的内置函数。内置函数广泛用于数据库查询语句中。
一. 日期函数
- 例子一:创建一个样例表:
类似于隐式转换,虽然这样可以但是不建议。
- 例子二:创建一个留言表
查询两分钟之内发布的帖子:
msg_time>curr_time-2
或者:
二. 字符串函数
- 获取msg表的content列的字符集:
- 要求显示exam_result表中的信息,显示格式:"XXX的语文是XXX分,数学XXX分,英语XXX分"
sql
select concat(name, '的语文是',chinese,'分,数学是',math,'分') as '分数' from student;
- 求学生表中学生姓名占用的字节数
sql
select length(name), name from student;
注意:length函数返回字符串长度,以字节为单位。如果是多字节字符则计算多个字节数;如果是单字节字符则算作一个字节。比如:字母,数字算作一个字节,中文表示多个字节数(与字符集编码有关)
- 将EMP表中所有名字中有S的替换成'上海'
sql
select replace(ename, 'S', '上海') ,ename from EMP;
- 截取EMP表中ename字段的第二个到第三个字符
sql
select substring(ename, 2, 2), ename from EMP;
- 以首字母小写的方式显示所有员工的姓名
sql
select concat(lcase(substring(ename, 1, 1)),substring(ename,2)) from EMP;
三. 数学函数
- 绝对值
sql
select abs(-100.2);
- 向下取整
sql
select floor(23.7);
- 向上取整
sql
select ceiling(23.04);
- 保留2位小数位数(小数四舍五入)
sql
select format(12.3456, 2);
- 产生随机数
sql
select rand();
四. 其他函数
- user() 查询当前用户
sql
select user();
- md5(str)对一个字符串进行md5摘要,摘要后得到一个32位字符串
sql
select md5('admin')
- database()显示当前正在使用的数据库
sql
select database();
- password()函数,MySQL数据库使用该函数对用户加密
sql
select password('root');
+-------------------------------------------+
| password('root') |
+-------------------------------------------+
| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-------------------------------------------+
- ifnull(val1, val2) 如果val1为null,返回val2,否则返回val1的值
sql
select ifnull('abc', '123');
+----------------------+
| ifnull('abc', '123') |
+----------------------+
| abc |
+----------------------+
1 row in set (0.01 sec)
select ifnull(null, '123');
+---------------------+
| ifnull(null, '123') |
+---------------------+
| 123 |
+---------------------+
1 row in set (0.00 sec)
总结:
好了,到这里今天的知识就讲完了,大家有错误一点要在评论指出,我怕我一人搁这瞎bb,没人告诉我错误就寄了。
祝大家越来越好,不用关注我(疯狂暗示)