我正在为GameCenter类型的应用程序构建数据库。以下是查询的开始,以为特定游戏建立每周排行榜。 “分数”作为INT存储在表“游戏”中,但是另一个字段“ scoreFormat”指示分数应如何显示在排行榜中。我使用SELECT IF语句通过在INT的开头连接一个“£”将INT转换为货币,效果很好。但是,由于我现在需要多个案例(例如,EG时间),所以我似乎无法使其正常工作。由于某些原因,case语句总是进入ELSE,我不明白为什么。谁能看到我的错误?谢谢

SELECT userName as "User Name",
   score_timestamp as "Score Time",
    case score
        When scoreFormat = "time" Then SEC_TO_TIME(score)
        When scoreFormat = "money" Then Concat('£', score)
        Else score
    end as HighScore
    FROM ...


谢谢。

最佳答案

case
   When scoreFormat = "time" Then SEC_TO_TIME(score)
   When scoreFormat = "money" Then Concat('£', score)
   Else score
end
as HighScore

10-07 12:31