我的查询返回一个可以容纳房地产类型的列。值可以是condo或duplex或house等。我只想要列中的C ,而不是显示公寓。我的计划是使用一个巨大的案例/何时结构来涵盖所有案例,有没有更简单的方法?顺便说一句,仅以大写显示第一个字母是行不通的,因为有时该规则不能应用于创建短代码。双工例如是DE ...
谢谢 :-)
如果您不想使用 CASE 语句,如何创建一个查找表以将列值映射到您想要的查找代码。在您的查询中加入这一点。
注意 - 仅当您的查询在相当小的结果集上运行时才值得考虑,否则您会遇到性能问题。索引该列会有所帮助。
其他一些选项取决于您的数据库服务器功能:
与长字符串匹配的每个速记列的帮助表?
显而易见的做法是创建另一个表,将您的值映射到代码,然后您可以将结果加入到该表中。但它闻起来有点不对劲。我想将另一个表加入键值,而不是字符串(我假设它不是键值)
为什么不在sql 中使用解码函数
select decode(your_column_name,"condo","C",your_column_name) from table