01 函数的介绍
【1】之前学习的聚合函数只是函数中的一种。
【2】函数:是一段可以直接被另一段程序调用的程序/代码。
【3】应用场景示例:
① 已知某员工的入职信息,求员工入职天数。
② 已某同学成绩,求它的成绩等级。
【4】分类:字符串函数,数值函数,日期函数,流程控制函数。
02 字符串函数
【1】concat(s1,s2,s3...),多个字符串进行拼接。
【2】lower(s),将所有的大写字母转成小写字母。
【3】upper(s),将所有的小写字母转成大写字母。
【4】lpad(str,len,pad),对str进行左填充,使得整个字符串长度为len。
【5】rpad(str,len,pad),对str进行右填充,使得整个字符串长度为len。
【6】trim(str),去掉字符串头部和尾部的空格。
【7】substring(str,start,len),返回从字符串strs的start位置起的len个长度的字符串
(注意,M有SQL的字符串索引值是从1开始的!!!)
【说明】:在检验函数的功能时可以用select 函数名(参数);的格式进行检验。
03 数值函数
【1】ceil(xx),向上取整。
【2】floor(xx),向下取整。
【3】mod(xx,xx),取模。
【4】rand(),返回0~1以内的随机数。
【5】round(xx,xx),四舍五入保留几位小数。
04 日期函数
【1】curdate(),返回当前日期
【2】curtime(),返回当前时间
【3】now(),返回当前日期+时间
【4】year(date),获取指定date的年份
【5】month(date),获取指定date的月份
【6】day(date),获取指定date的号数
【7】date_add(date, interval 值 单位),给指定date的某个值增加/减少xx,例如:date_add(date, interval 70 day);
【8】datediff(date1,date2),date1为截至时间,date2为开始时间,返回两个date之间的间隔天数
05 流程函数
【1】if(value,t,f),如果value的值为true则返回t,否则返回f
【2】ifnull(value1,value2),如果value1不为空,返回value1,否则返回value2
【3】case xx1 when xx then xx when xx then xx ... else ... end,场景:字段的值与when的xx直接比较
【4】case when xx then xx when xx then xx .. else ... end,场景:字段的值需要进行范围的比较