我正在为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