在SQL Server结果集中选择并转换列值

时间:2017-01-04 16:51:06

标签: sql sql-server

假设我在SQL Server 2008中有一个名为“customer”的表,其结果集为:

visibility

'cu_status'列是一个代码,我想将其转换为相应的值:'O'是'Open','C'是'Closed'。所以我想要的结果集是:

Gone

有没有办法只使用SELECT命令?

谢谢!

2 个答案:

答案 0 :(得分:3)

有几种方法可以做到这一点。更简单的是使用CASE表达式:

SELECT cu_id,
       CASE cu_Status
          WHEN 'O' THEN 'Open'
          WHEN 'C' THEN 'Closed'
       END cu_status
FROM dbo.customer;

答案 1 :(得分:1)

是的,您可以执行以下操作:

SELECT CU_ID,
    CASE WHEN CU_STATUS = 'O' THEN 
        'Open'
    ELSE 
        'Closed'
    END AS CU_STATUS
FROM CUSTOMER