PostgreSQL如何在case语句中检查整数范围

时间:2017-03-15 14:31:24

标签: postgresql

如果用户得分介于75到100之间,那么我的搜索用户得分在范围内,如果用户得分介于75到100之间,那么我的问题就是获取查询,如果用户得分介于60-75之间,那么其B和...等等。

我得到了这个值

CASE users.points_earned
WHEN  75-100 THEN
    'A+'
WHEN  60-75 THEN
    'A'
WHEN  40-60 THEN
    'B+'
WHEN  1--40 THEN
    'B'
ELSE
    'Absent'
    end as rank 

但是没有工作如何检查postgresql的case语句中的范围

1 个答案:

答案 0 :(得分:1)

您可以使用BETWEEN作为检查范围。

WITH users(points_earned) as(
    select 75
    union all
    select 90
    union all
    select 200
)

SELECT CASE 
WHEN users.points_earned BETWEEN 40 AND 75 THEN 'A+'
WHEN users.points_earned BETWEEN 76 AND 100 THEN 'A'
ELSE 'Absent'
END as rank 
FROM users