0

我的查询返回一个可以容纳房地产类型的列。值可以是condoduplexhouse等。我只想要列中的C ,而不是显示公寓。我的计划是使用一个巨大的案例/何时结构来涵盖所有案例,有没有更简单的方法?顺便说一句,仅以大写显示第一个字母是行不通的,因为有时该规则不能应用于创建短代码。双工例如是DE ...

谢谢 :-)

4

4 回答 4

3

如果您不想使用 CASE 语句,如何创建一个查找表以将列值映射到您想要的查找代码。在您的查询中加入这一点。

注意 - 仅当您的查询在相当小的结果集上运行时才值得考虑,否则您会遇到性能问题。索引该列会有所帮助。

其他一些选项取决于您的数据库服务器功能:

  1. 使用 UDF 进行转换。
  2. 源表上的计算列。
于 2010-07-22T09:34:25.773 回答
2

与长字符串匹配的每个速记列的帮助表?

于 2010-07-22T09:33:55.963 回答
0

显而易见的做法是创建另一个表,将您的值映射到代码,然后您可以将结果加入到该表中。但它闻起来有点不对劲。我想将另一个表加入键值,而不是字符串(我假设它不是键值)

于 2010-07-22T09:35:02.840 回答
0

为什么不在sql 中使用解码函数

select decode(your_column_name,"condo","C",your_column_name) from table
于 2010-07-22T09:54:49.047 回答