在update子句中使用Case语句 - Sybase

use*_*720 0 sql case sql-update

以下是sybase代码.有人可以看到以下是否正确.我想我错过了某处的语法

    declare @test  varchar(32)
    select @test="/data/dump/team/"

    update link
    set link.value=
     case when @test=substring(link.value,1,17)
                   then @test
          when  @test != substring(link.value,1,17)
                      value
    end 
    where link.value != ""
    and link_id=0 and row_id = 462135
Run Code Online (Sandbox Code Playgroud)

因为它给我以下错误:"第10行关键字结束附近的语法不正确".

可以请有人帮我解决语法问题.

pau*_*sm4 6

尝试在第二种情况下添加"then":

declare @test  varchar(32)
    select @test="/data/dump/team/"

    update link
    set link.value=
     case when @test=substring(link.value,1,17)
                   then @test
          when  @test != substring(link.value,1,17)
                   then value
    end 
Run Code Online (Sandbox Code Playgroud)