ull*_*i83 1 sql sql-server-2008
是否可以在表上进行选择,然后使用 Case 语句将结果填充到不同的列中?我见过一个使用“Case”进行查询但不插入新列的示例。我尝试过各种组合,但效果不佳。
例如,
Table - CLIENTDETAILS
VATRATE - 1, 2, 3, 0 //This is a populated column with 6500 rows
VATPERC - 15.0, 17.5, 20.0, 0.00 //This is an empty column that needs to be filled with case results.
INSERT INTO CLIENTDETAILS(VATPERC) values(
(SELECT CASE VATRATE
WHEN '1' THEN '15.0'
WHEN '2' THEN '17.5'
WHEN '3' THEN '20.0'
WHEN '0' THEN '0.00'
END
FROM CLIENTDETAILS AS CLIENTDETAILS_1))
Run Code Online (Sandbox Code Playgroud)
感谢您一如既往的帮助。
听起来您只想更新现有行中的不同列
UPDATE CLIENTDETAILS
SET VATPERC =
CASE VATRATE
WHEN '1' THEN '15.0'
WHEN '2' THEN '17.5'
WHEN '3' THEN '20.0'
WHEN '0' THEN '0.00'
END
FROM CLIENTDETAILS;
Run Code Online (Sandbox Code Playgroud)
VATRATE然而,我建议将和的类型更改VATPERC为数字类型,这将允许在不进行强制转换的情况下完成计算。
| 归档时间: |
|
| 查看次数: |
3853 次 |
| 最近记录: |