如何在纯SQL中转换查询结果以提高可读性
在数据库中,我有一列代码(1到3)。每个数字对应一个状态(例如,PATCHED=1-NOTPATCHED=2-NOTAPPLICABLE=3)。这些状态已记录但未存储 当我提出一个简单的请求,比如如何在纯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
从计算机中选择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%同意您的意见:)