如何在纯SQL中转换查询结果以提高可读性

如何在纯SQL中转换查询结果以提高可读性,sql,oracle,Sql,Oracle,在数据库中,我有一列代码(1到3)。每个数字对应一个状态(例如,PATCHED=1-NOTPATCHED=2-NOTAPPLICABLE=3)。这些状态已记录但未存储 当我提出一个简单的请求,比如 从计算机中选择UID、状态 它返回类似于 0001 1 0002 1 0003 3 0004 2 ... 在纯SQL中,有没有一种方法可以用状态的含义来代替状态,从而获得更好的可读性,例如: 0001 PATCHED 0002 PATCHED 0003 NOTAPP

在数据库中,我有一列代码(1到3)。每个数字对应一个状态(例如,PATCHED=1-NOTPATCHED=2-NOTAPPLICABLE=3)。这些状态已记录但未存储

当我提出一个简单的请求,比如

从计算机中选择UID、状态
它返回类似于

0001   1
0002   1
0003   3
0004   2
...
在纯SQL中,有没有一种方法可以用状态的含义来代替状态,从而获得更好的可读性,例如:

0001   PATCHED 
0002   PATCHED 
0003   NOTAPPLICABLE 
0004   NOTPATCHED 
...
我想再次指出,状态的意思是不存储的,也不能被存储

非常感谢你的帮助


William

这可以通过
大小写
表达式轻松完成:

选择
UID,
案例国家
当1然后“修补”时
当2时,则“未修补”
当3时,则“不适用”
以新的状态结束
来自计算机

这可以通过
大小写
表达式轻松完成:

选择
UID,
案例国家
当1然后“修补”时
当2时,则“未修补”
当3时,则“不适用”
以新的状态结束
来自计算机

状态的映射
代码编号
在哪里
-说明?最好也在数据库中,否则您必须维护映射两次…映射到
状态的
代码编号
在哪里?如果这也在数据库中就最好了,否则您将不得不维护映射两次……不要认为这是一个好主意,除非没有办法维护数据库中的映射
代码编号
-
状态
,因为当映射以任何方式发生变化时,您确实必须更改查询(例如新状态)…原来的帖子说,
“我想再次指出,状态的意思不是存储的,也不能存储。”
好的,但尽管它存储在数据库中,但可能有一种方法可以在应用程序和数据库之间共享信息,这会更好。顺便说一句:我没有投反对票或其他任何东西,因为这是给出数据的唯一解决方案-但我想声明,考虑到未来的维护,这绝对不是您想要的。我100%同意您的意见:)除非无法维护数据库中的映射
代码编号
-
状态
,否则不要认为这是一个好主意,当映射以任何方式更改时(例如,新状态),您必须更改查询。原始帖子说
“我想再次指出,状态的含义没有存储,也不能存储。”
Ok,但是,尽管数据库中存储了数据,但还是有一种更好的方法可以在应用程序和数据库之间共享信息。顺便说一句:我没有投反对票或任何东西,因为这是给出数据的唯一解决方案-但我想声明,考虑到未来的维护,这绝对不是您想要的。我100%同意您的意见:)