正确使用案例(当时出错)

时间:2017-06-15 08:10:27

标签: sql sql-server

任何人都可以理解为什么我在下面的代码行中出现此错误?请告诉我!

  

Msg 156,Level 15,State 1,Line 52
  关键字'then'附近的语法不正确。

对这篇文章稍作修改:如何在这行代码中添加连字符?例如,我得到的格式是PTEE032981。我如何获得PT-EE-032981?

如果可以在这篇文章中解答,请告诉我。

case when (MU.Number like '%co-load%' then SUBSTRING(UPPER(REPLACE(Mu.Number,'-','')) ,
 PATINDEX('%[nw]t[A-Z][A-Z][0-9][0-9][0-9][0-9][0-9]%',UPPER(REPLACE(Mu.Number,'-',''))),10)) 
 else ME.MovementReference end as [MovementReference],

1 个答案:

答案 0 :(得分:0)

无需起始括号:

case 
    when MU.Number like '%co-load%' 
        then SUBSTRING(UPPER(REPLACE(Mu.Number, '-', '')), PATINDEX('%[nw]t[A-Z][A-Z][0-9][0-9][0-9][0-9][0-9]%', UPPER(REPLACE(Mu.Number, '-', ''))), 10) 
    else ME.MovementReference 
end as [MovementReference],