【问题标题】:How create a String value for represent some values in select results?如何创建一个字符串值来表示选择结果中的一些值?
【发布时间】:2011-11-13 22:21:34
【问题描述】:

在我的选择中我有这个结果:

name | type |
-----+------+
booo | A    |
xooo | B    |
dooo | A    |

我需要在 SQL SERVER 中用一种方法将 A 替换为“Abstract”,将 B 替换为“Ball” 谢谢, 塞尔索

【问题讨论】:

  • 这个很不清楚。你想做什么?

标签: sql sql-server string replace


【解决方案1】:

使用此映射创建另一个表并使用连接。

type | long_name |
-----+-----------+
  A  | Abstract  |
  B  | Ball      |
  C  | Cat       |

【讨论】:

  • +1 在type 上索引的永久表应该比 CTE 更有效,并且更普遍有用。
【解决方案2】:
WITH Strings(type,description)
AS
(
SELECT 'A', 'Abstract' UNION ALL
SELECT 'B', 'Ball' 
)
SELECT y.foo, s.description
FROM YourTable y
JOIN Strings S ON S.type = y.type

【讨论】:

    【解决方案3】:

    您还可以查看 SQL Server 中的 CASE 函数,具体取决于您要执行的操作。

    http://msdn.microsoft.com/en-us/library/ms181765.aspx

    【讨论】:

      【解决方案4】:

      选择名称作为“名称”,

         (case type
          when 'A' then 'Abstract'
          when 'B' then 'Ball'
          end) as "Type"
      

      来自我的表

      按名称排序

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-18
        • 2023-04-07
        • 2021-09-12
        相关资源
        最近更新 更多