但是,我有一个案例陈述;我有两个错误。我似乎无法找到修复错误的答案。
SELECT #TMP.webid_Val = CASE #TMP.webid
when 'NULL' then 'NOT COMPLIANT'
else 'COMPLIANT'
end
FROM #TMP
* * FROM 附近的语法不正确。期待对话
=** 附近的语法不正确
#TMP
是临时表。webid 是要针对条件查看的值 webid_val 是将更改值的列。
任何帮助,将不胜感激。
但是,我有一个案例陈述;我有两个错误。我似乎无法找到修复错误的答案。
SELECT #TMP.webid_Val = CASE #TMP.webid
when 'NULL' then 'NOT COMPLIANT'
else 'COMPLIANT'
end
FROM #TMP
* * FROM 附近的语法不正确。期待对话
=** 附近的语法不正确
#TMP
是临时表。webid 是要针对条件查看的值 webid_val 是将更改值的列。
任何帮助,将不胜感激。
看起来您确实想像以前那样执行UPDATE
usingCASE
语句,而不是UPDATE
表中的数据
UPDATE #TMP
SET webid_Val =
(CASE when webid Is NULL
then 'NOT COMPLIANT'
else 'COMPLIANT'
end)
如果我正确理解你的笔记,你想要做一个更新语句,而不是一个选择语句。此外, 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)
(The following answer assumes Sql Server)
You cannot do an update with a select statement.
If you are trying to return data to a client application or user, use
SELECT webid_Val = CASE
WHEN #TMP.webid IS NULL then 'NOT COMPLIANT'
ELSE 'COMPLIANT'
END
FROM #TMP
or if you're trying to update data in the original temp table, use the following:
UPDATE #tmp SET
webid_Val = CASE
WHEN #TMP.webid IS NULL then 'NOT COMPLIANT'
ELSE 'COMPLIANT'
END
FROM #TMP