然而,我有一个案例陈述;我有两个错误。我似乎找不到修复错误的答案。
SELECT #TMP.webid_Val = CASE #TMP.webid
when 'NULL' then 'NOT COMPLIANT'
else 'COMPLIANT'
end
FROM #TMP
* * FROM附近的语法不正确。期待对话
语法不正确= **
#TMP
是临时表。
webid是要查看条件的值
webid_val是将更改其值的列。
任何帮助都将不胜感激。
答案 0 :(得分:3)
您确实希望使用UPDATE
语句执行CASE
,而不是UPDATE
表格中的数据
UPDATE #TMP
SET webid_Val =
(CASE when webid Is NULL
then 'NOT COMPLIANT'
else 'COMPLIANT'
end)
答案 1 :(得分:1)
如果我正确理解你的笔记,你想要做一个更新语句,而不是一个select语句。此外,null不是字符串。
如果你想要的话,下面将执行select语句。
select case #TMP.webid when null then 'NOT COMPLIANT'
else 'COMPLIANT' end
from #TMP
如果要更新表格中的每一行:
update #TMP
set webid_Val = (case webid when null then 'NOT COMPLIANT'
else 'COMPLIANT' end)
答案 2 :(得分:1)
(以下答案假设是Sql Server)
您无法使用select语句进行更新。
如果您尝试将数据返回给客户端应用程序或用户,请使用
SELECT webid_Val = CASE
WHEN #TMP.webid IS NULL then 'NOT COMPLIANT'
ELSE 'COMPLIANT'
END
FROM #TMP
或者如果您尝试更新原始临时表中的数据,请使用以下命令:
UPDATE #tmp SET
webid_Val = CASE
WHEN #TMP.webid IS NULL then 'NOT COMPLIANT'
ELSE 'COMPLIANT'
END
FROM #TMP