【问题标题】:Oracle SQL - How to format output without showing the explicit valueOracle SQL - 如何在不显示显式值的情况下格式化输出
【发布时间】:2018-02-02 14:03:59
【问题描述】:

我正在查询一张考试成绩表。如果分数高于 50%,则学生通过考试。如果考试分数高于 50%(即考试通过),我希望查询的输出显示 1,如果分数低于 50%(即考试失败),则显示 0。我不希望显示实际考试成绩。

把这个变成这个
考试编号分数考试编号分数 1 37% => 1 0 2 84% 2 1 3 76% 3 1

我该怎么做?我已经找到了几篇关于使用空格、linebraks、重命名列等来格式化结果的文章和页面,但我不知道如何使用“表示值”。

有没有办法编写查询,以使结果看起来像我上面的示例中的结果?

【问题讨论】:

    标签: sql oracle formatting anonymize


    【解决方案1】:

    您可以使用 CASE 表达式:

    select exam_no, 
           case 
              when score >= 50 then 1
              else 0
           end as score
    from the_table;
    

    【讨论】:

    • 谢谢!我不知道快递案。它完全符合我的需要:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-24
    相关资源
    最近更新 更多