什么时候在 PostgreSQL 中?
如果您是程序员,您可能对IF-ELSE语句非常熟悉。PostgreSQL中的等价物是CASEWHEN。
让我们通过一个例子来理解。如果您有包含学生百分比分数的表格标记,并且您想了解学生是否通过或未通过。下面给出了一个示例表。
假设及格分数是40。现在,如果学生的分数超过40分,我们希望在该学生的姓名上打印“通过”,否则打印“失败”。这就是你可以做到的-
SELECT name, CASE WHEN perc_marks >= 40 THEN 'PASS' ELSE 'FAIL' END status from marks
输出将是-
请记住,CASEWHEN表达式末尾的END很重要。您可以添加多个WHEN语句。假设你想说那些得分超过80分的人的状态为“DISTINCTION”,在40到80分之间,他们的状态为“通过”,而低于40分,他们的状态为“失败”,您可以按如下方式进行操作:
SELECT name, CASE WHEN perc_marks >= 80 THEN 'DISTINCTION' WHEN perc_marks >= 40 and perc_marks < 80 THEN 'PASS' ELSE 'FAIL' END status from marks
输出将是-