1、数字函数:
注意:1)d 取负值代表整数部分有d个 低位为0;d 取正值表示保留小数点后几位,四舍五入;truncate是截断取值;
2)rand(),代表 0-1之间的随机小数;
3)ceil 代表向上取整,floor代表向下取整;
2、字符串函数:
要注意:1)char_length 是字符串的长度,length代表的是该字符串是几个字节;
可以看到一个汉字占3个字节,1个英文字母占1个字节;
2)ltrim、rtrim、trim去掉空格;
3)upper、lower;
4)substring从1开始算起;
3、日期时间函数:
now函数传参是精确值;
select year(curdate()) 年,month(curdate()) 月, dayofmonth(curdate()) 日, hour(curtime()) 时, minute(curtime()) 分,second(curtime()) 秒,microsecond(now(6));
4、条件控制函数;
1)if()函数,相当于三目运算符;
select student_no,course_no,score, if(score >= 60, '是','否') 是否通过 from choose;
2)ifnull()函数,判断是否为0,让 null 也能正常参与运算;;
考虑一个问题,当一个学生只考了期末考试,但是没有平时成绩;那么按照八二占比,该学生最后的成绩是可能及格的;
对于exam表;
select * from exam;
当我们计算综合成绩时:
可以看出3、4号学生没有成绩;这与我们期望不符;原因就在于null参与了运算,其结果都是null;
当我们使用ifnull函数时:
select stu_no,exam_score,regular_score, ifnull(exam_score,0)*0.8+ifnull(regular_score,0)*0.2 total_score from exam;
该结果与预期结果相符;
标签:exam,ifnull,函数,系统,score,curtime,select,14 From: https://www.cnblogs.com/xuan01/p/17443670.html