一、引言
提到函数,在SQL分类中DQL语句中有一个聚合函数,如COUNT()、SUM()、MAX()等等。这些都是一些常见的聚合函数,而聚合函数只是函数的一种,接下来会详细的学习和介绍一下函数的应用场景和以及 mysql 当中文件的函数有哪些。
二、函数
概念:函数是指一段可以直接被另一段程序调用的程序或代码。
注意:
这段程序或者代码,实际上在 mysql 当中已经内置了,也就是说这些函数已经在 mysql 当中已经设定写好了,我们要做的只是去调用这些函数来完成我们的业务需要就可以了。
那么函数的作用是什么呢?或者在什么情况下会用到呢?
有两个例子:
1、在入职公司之后,在人力系统中会录入个人的入职信息,比如当前加入公司的总天数是多少?
2、比如学员考试成绩,它的一个等级评定,优秀、及格、不及格多少人?因为在数据库表中都只是对应着一些分数,如何快速的判断分数的等级是多少?
这些问题都可以借助mysql的内置函数来解决。
三、MySQL的内置函数
将内容主要分为四个小的章节。
1、字符串函数
2、数值函数
3、日期函数
4、流程函数
四、字符串函数
(1)MySQL中内置了很多的字符串函数,常用的几个如下:
部分注意事项:
1、CONCAT(),里面传递的n个参数,都是字符串参数。
2、
LPAD():L代表的是 'left' 左边,用字符串 pad 对 str 左边进行填充,直到长度达到 n 。RPAD():R代表的是 'right' 右边,用字符串 pad 对 str 右边进行填充,直到长度达到 n 。
3、TRIM():去除头部和尾部的空格,不去除中间的空格。
4、SUBSTRING(str,start,len):这个很JAVA的很像,叫截取字符串。它会从字符串 str 的start 位置开始,截取 len 个长度的字符串。
(2)回到工具 DataGrip 使用一下这几个函数。
操作调用函数的方法:
1、字符串拼接:CONCAT();
SELECT CONCAT('Hello',',MySQL','!');
返回的就是各个字符串拼接成功成一个新的字符串。
2、转小写:LOWER();
SELECT LOWER('HELLO');
3、转大写:UPPER();
SELECT UPPER('what,can,i,say');
4、左填充:LPAD(str,n,pad);
SELECT LPAD('01',5,'*');
5、右填充:RPAD(str,n,pad);
SELECT RPAD('02',5,'*');
6、TRIM();
SELECT TRIM(' HHELLO MYSQL ');
7、SUBSTRING();
注意它的字符串索引是从1开始的
SELECT SUBSTRING('hello substring!',1,7);
五、练习
1、根据需求完成以下SQL编写。
由于业务需求变更,企业员工的工号,统一为5位数,目前不足5位数的全部在前面补0。比如:1号员工的工号应该为00001。
(1)我们要操作的emp 表的数据,要操作的字段是工号(workno)。
也就是:1~9补4个'0',10~16要补3个'0'。
(2) 使用UPDATE ... SET 以及左填充函数,对表中字段进行修改更新。
UPDATE emp SET workno=LPAD(workno,5,'0');