注意:1)d 取负值代表整数部分有d个 低位为0;d 取正值表示保留小数点后几位,四舍五入;truncate是截断取值;
2)rand(),代表0-1之间的随机小数;
3)ceil 代表向上取整,floor代表向下取整;
(资料图片)
要注意:1)char_length 是字符串的长度,length代表的是该字符串是几个字节;
可以看到一个汉字占3个字节,1个英文字母占1个字节;
2)ltrim、rtrim、trim去掉空格;
3)upper、lower;
4)substring从1开始算起;
now函数传参是精确值;
select year(curdate()) 年,month(curdate()) 月, dayofmonth(curdate()) 日, hour(curtime()) 时, minute(curtime()) 分,second(curtime()) 秒,microsecond(now(6));
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;
该结果与预期结果相符;
关键词:
Copyright 2015-2023 非洲供销网版权所有 备案号: 沪ICP备2022005074号-8 联系邮箱:58 55 97 3@qq.com