簡體   English   中英

使用 SQL,如何用字母值“重命名”整數?

[英]Using SQL, How to “rename” integers with alphabetic values?

我有一個要求,在加入表格后,我需要系統用它們的描述重命名某些數值

例如:

當我執行以下查詢時:

select * from order_type 結果如下:

訂單名稱 order_Type 日期
A1 1 2021 年 1 月 12 日
A2 1 2021 年 1 月 12 日
B3 2 2021 年 1 月 5 日
B5 1 2021 年 1 月 4 日
C7 2 2020 年 12 月 29 日

不幸的是,系統的設計方式訂單類型沒有描述符。 所以有什么辦法可以說

Order_Type 值 '1' = Make....... Order_Type 值 '2' = 購買

因此,當有人再次運行查詢時,他們會看到以下內容:

select * from order_type 結果如下:

訂單名稱 order_Type 日期
A1 制作 2021 年 1 月 12 日
A2 制作 2021 年 1 月 12 日
B3 2021 年 1 月 5 日
B5 制作 2021 年 1 月 4 日
C7 2020 年 12 月 29 日

謝謝

您可以使用case表達式:

select ot.*,
       (case when order_type = 1 then 'Make' 
             when order_type = 2 then 'Buy'
        end) as description
from order_type ot;

也就是說,您應該有一個包含此信息的參考表,以便您可以使用帶有規范名稱的join 為每個可能需要它的查詢定義它是數據不一致的秘訣。

使用CASE表達式:

SELECT
    OrderName,
    CASE order_Type WHEN 1 THEN 'Make' WHEN 2 THEN 'Buy' END AS order_Type,
    Date
FROM order_type;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM