2013-01-01 65 views
0

以下是sybase代碼。有人可以看到以下內容是否正確。我想我錯過了語法某處在update子句中使用Case語句 - 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 

因爲它是給我下面的錯誤:「附近有語法錯誤關鍵字結束的第10行。」

可以請別人幫助我的語法。

回答

5

嘗試添加「然後」第二種情況:

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 
+0

謝謝,這就是我錯過了....爲什麼我的眼睛沒有發現嗯!仍然想知道..謝謝無論如何.. – user726720

0

爲什麼不能簡單地做一個「其他」第二「何時」?