我正在试图弄清楚为什么这种语法格式不正确,我不这样做:
update Entry
set Name = Case charindex('/', reverse(Name))
when charindex('/', reverse(Name)) > 0 then right(Name, charindex('/', reverse(Name)) -1)
when charindex('/', reverse(Name)) < 0 then Name
End
答案 0 :(得分:2)
试试这个:
update Entry
set Name = Case
when charindex('/', reverse(Name)) > 0 then right(Name, charindex('/', reverse(Name)) -1)
when charindex('/', reverse(Name)) < 0 then Name
End
编辑:或者:
update Entry
set Name = Case SIGN(charindex('/', reverse(Name)) )
when 1 then right(Name, charindex('/', reverse(Name)) -1)
when -1 then Name
End
在WHEN之前使用表达式的CASE将该表达式依次与WHEN之后的每个表达式进行比较,直到找到匹配为止。紧接着WHE后面的WHEN检查WHEN之后的每个表达式,直到找到一个计算结果为TRUE的表达式。在第一次使用中,表达式必须具有可比性。在第二种情况下,表达式必须评估为T / F.