String PostgreSQL:如何获取查询结果并在保存到文件之前动态更改它们

String PostgreSQL:如何获取查询结果并在保存到文件之前动态更改它们,string,postgresql,replace,output,String,Postgresql,Replace,Output,我想知道如何获取查询结果并将其转换为人工对话 例如: Select backup_set.id, backup_set.status, backup_set.type from backset.table 然后获取backup_set.type结果,它通常是一个数字,如1、2、3、4、5,并将其更改为SUSPENDED、SCHEDULED等。。。但是我不想只更改表中的数据和输出。这可以使用CASE语句来完成 Select backup_set.id, backup_set.status,

我想知道如何获取查询结果并将其转换为人工对话

例如:

Select backup_set.id, backup_set.status, backup_set.type 
from backset.table 
然后获取backup_set.type结果,它通常是一个数字,如1、2、3、4、5,并将其更改为SUSPENDED、SCHEDULED等。。。但是我不想只更改表中的数据和输出。

这可以使用CASE语句来完成

Select backup_set.id, backup_set.status, 
       case backup_set.type 
          when 1 then 'SUSPENDED'
          when 2 then 'SCHEDULED'
          else 'UNKNOWN'
       end as "type"
from backset.table 
但是,如果您将该信息存储在另一个表中,并将type列作为该查找表的外键,则效果会更好。然后,您可以使用一个简单的连接来检索描述

编辑

如果要用实际的数值替换未知值,只需将其放入ELSE部分。您需要将数字转换为文本值,但:

Select backup_set.id, backup_set.status, 
       case backup_set.type 
          when 1 then 'SUSPENDED'
          when 2 then 'SCHEDULED'
          else backup_set.type::text
       end as "type"
from backset.table 

请发布您到目前为止的尝试和结果,以便我们提供进一步建议。搜索案例和外键如果我想将状态栏保留为3、4、5、6等数字,会发生什么情况?@BoricuaTec抱歉,我不理解您的问题。在上面的查询中,status列保持不变。现在返回的结果是挂起的和计划枚举的结果,但现在未捕获的结果标记为UNKNOWN。有没有一种方法可以传递值?