繁体   English   中英

SQL将数字转换为单词

[英]SQL Convert number to a word

我正在编写一个简单的SELECT查询,以从SQL表中检索一组项目号。

现在从此表中,我想获取可以是三个之一的Item类型。 Make, Buy or undefined

我的问题是,这在数据库中以数字表示。 我的表有一个称为ITMTYPE的列,但1 or 2 or 3 for Make, Buy or undefined1 or 2 or 3 for Make, Buy or undefined

谁能建议我将列添加到我的选择查询中,以显示项目类型的等效措词?

以下是我想看到的,

Item_Number Item_Type_Num   Item Type_val
A                1               Make
B                2               Buy
C                3               Undefined
D                2               Buy
E                1               Make

我想看的是第三列。 谢谢

您可以使用CASE EXPRESSION

SELECT t.Item_Number,t.ITMTYPE as Item_Type_Num,
       CASE WHEN t.ITMTYPE = 1 THEN 'Make'
            WHEN t.ITMTYPE = 2 THEN 'Buy'
            WHEN t.ITMTYPE = 3 THEN 'undefined'
       END as Item_Type_Val
FROM YourTable t

如果您对此列有日常需求,建议您将其添加到表中:

ALTER TABLE YourTable
  ADD Item_Val_Type VARCHAR2(10);

然后更新它:

UPDATE YourTable t
SET t.Item_Val_Type = CASE WHEN t.ITMTYPE = 1 THEN 'Make'
                           WHEN t.ITMTYPE = 2 THEN 'Buy'
                           WHEN t.ITMTYPE = 3 THEN 'undefined'
                      END;

使用简单的案例表达。

select
    Item_Number,
    Item_Type_Num ,
    Case Item_Type_Num
       when 1 then 'Make'
       when 2 then 'Buy'
       when 3 then 'Undefined'
    else 'Unknown'
    end as 'Item_type_val'
from Yourtable
CASE expression

   WHEN value_1 THEN result_1
   WHEN value_2 THEN result_2
   ...
   WHEN value_n THEN result_n

   ELSE result

END

select item_number
,case Item_Type_num
   when 1 then 'Make'
   when 2 then 'Buy'
   else 'Undefined
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM