即,当location_old ='r-0000'时,则location_new ='r-0280',否则对于location_old的任何其他值,location_new的对应值应相同。
select year, month, amount, account, location_old, costcentre_old, costcentre_new,
'location_new'= case when location_old='r-0000' then 'r-0280'
else 'loation_old'
end
from asign3;
从标识符中删除单引号。它们只应用于字符串文字。除非您使用的是SQL Server,否则别名列的语法是<expression> [AS] <alias>
而不是<alias> = <expression>
。但是,由于SQL Server也理解后者,我建议无论如何都要使用后者。
SELECT year,
month,
amount,
account,
location_old,
costcentre_old,
costcentre_new,
CASE
WHEN location_old = 'r-0000' THEN
'r-0280'
ELSE
location_old
END location_new
FROM asign3;