查询后如何替换列中的值

Joh*_*ohn 2 migration visual-foxpro

我有一个数值列

我在查询

SELECT column 
FROM table 
WHERE column='1' OR
column='2' OR 
column='3' OR
column='4'
Run Code Online (Sandbox Code Playgroud)

然后

REPLACE (column, "1", "ABC");
REPLACE (column, "2", "DEF");
REPLACE (column, "3", "GHI");
REPLACE (column, "4", "JKL")
Run Code Online (Sandbox Code Playgroud)

我不确定我是否可能使用错误的分号。

请帮忙!

Ric*_*ner 5

您可以CASE将替换用于您正在使用的内容。另外,我已经修改了WHERE更加精简;

SELECT
CASE 
    WHEN column = '1' THEN 'ABC'
    WHEN column = '2' THEN 'DEF'
    WHEN column = '3' THEN 'GHI'
    WHEN column = '4' THEN 'JKL'
END AS column
FROM table
WHERE column IN ('1','2','3','4')
Run Code Online (Sandbox Code Playgroud)

请注意,如果column是,int那么您不需要将值包装在 ''

SELECT
CASE 
    WHEN column = 1 THEN 'ABC'
    WHEN column = 2 THEN 'DEF'
    WHEN column = 3 THEN 'GHI'
    WHEN column = 4 THEN 'JKL'
END AS column
FROM table
WHERE column IN (1,2,3,4)
Run Code Online (Sandbox Code Playgroud)

这根本不会修改表格,它只会改变数据的显示方式。