sql中的case表达式以在用户提示的情况下打印所需的文本

Posted

技术标签:

【中文标题】sql中的case表达式以在用户提示的情况下打印所需的文本【英文标题】:case expression in sql to print the required text with prompt of user 【发布时间】:2020-07-06 15:08:32 【问题描述】:

编写一个查询以接受 1-3 之间的数字输入,如果用户输入 1,则输出必须打印为“是”,如果用户输入 2,则输出必须打印为“否”,如果用户输入 3 输出必须打印为“可能”。如果用户输入除 1,2 或 3 之外的任何其他内容,则应打印的输出为“错误”

select &expr   
CASE expr WHEN expr=1 then 'YES'
             WHEN expr=2 then 'NO'
             WHEN expr=3 then 'maybe'
             ELSE 'Wrong'
             END "OUTPUT" 
    from dual;

【问题讨论】:

How do I ask and answer homework questions? 一个好的开始是提出问题.... @EricBrandt 你能帮我吗 显然,不,我不能。 【参考方案1】:
select 
  CASE q'[&expr]'
    WHEN '1' then 'YES'
    WHEN '2' then 'NO'
    WHEN '3' then 'maybe'
    ELSE 'Wrong'
  END "OUTPUT" 
from dual;

select 
  decode(q'[&expr]'
           ,'1','YES'
           ,'2','NO'
           ,'3','maybe'
           ,'Wrong'
        )
  AS OUTPUT
from dual;

【讨论】:

以上是关于sql中的case表达式以在用户提示的情况下打印所需的文本的主要内容,如果未能解决你的问题,请参考以下文章

从表中提取字符串以在查询中使用

SQL 案例中的许多布尔表达式

select case when if 的一些用法

使用 DecimalFormat 格式化 Double 以在没有科学计数法的情况下打印

带有 CASE 条件和 SUM() 的 SELECT 查询

访问 VBA 以在不提示的情况下覆盖文件