数据库case when的用法

考试题考到了,之前没接触过所以没考出来,这里后来自学了一下,已经成功了。下面给出问题描述

浙江大学每门课的绩点(GPA)和成绩(SCORE)有关,在已知成绩的前提下,我们需要得到GPA的数据,我就想到了CASE WHEN的使用,但之前没怎么使用所以考试写错了,经过思考,给出代码



数据库case when的用法_第1张图片


这题目也甚是恶心呀,还得知道计算的方法,老师说可以一分一档的,我就算了,按现行的算吧。

use student;
update sc
set Gpa=case when Score between 95 and 100 then 5.0
when Score between 92 and 94 then 4.8
when Score between 89 and 91 then 4.5
when Score between 86 and 88 then 4.2
when Score between 83 and 85 then 3.9
when Score between 80 and 82 then 3.6
when Score between 77 and 79 then 3.3
when Score between 74 and 76 then 3
when Score between 71 and 73 then 2.7
when Score between 68 and 70 then 2.4
when Score between 65 and 67 then 2.1
when Score between 62 and 64 then 1.8
when Score between 60 and 61 then 1.5
else 0
end
知道用法后代码还算简洁,这道题还是很难的



你可能感兴趣的:(数据库技术)