【发布时间】:2020-11-13 13:34:12
【问题描述】:
因此,在许多编程语言中,您的输入映射看起来像这样。
function mapping(input) {
var map = {
"case1" : "output1"
"case2" : "output2"
"case3" : "output3"
}
return map[input] || "output4"
}
这基本上可以替换一堆 if/thens,如:
var output;
If (input == "case1") {
output = "output1"
} else f (input == "case2") {
output = "output2"
} else f (input == "case3") {
output = "output3"
} else {
output = "output4"
}
return output
我的问题是……有没有办法在 SQL Server 中执行此操作来替换 case 语句中的一堆 when/thens?所以如果这是我的代码(实际上我有更多的案例)
SET someTable.SomeValue = (CASE
WHEN Name = 'case1' THEN
'output1'
WHEN Name = 'case2' THEN
'output2'
WHEN Name = 'case3' THEN
'output3'
WHEN Name = 'case4' THEN
"output4"
END) FROM TableName
有没有更简洁的方法来做到这一点? IE。输入地图或类似的替代方案?
【问题讨论】:
标签: sql sql-server mapping