0

我在 MySQL 中遇到以下 Case 语句的问题:

CASE  
    WHEN 
    ((SUBSTRING_INDEX('Provider - Remote Client - North', '-', -2) = ('Provider - Remote Client - North')) then SUBSTRING_INDEX('Provider - Remote Client - North', '-', -1)
    ELSE SUBSTRING_INDEX('Provider - Remote Client - North', '-', -2)
END CASE

我收到错误“出乎意料”有人可以建议吗?!?谢谢

4

2 回答 2

1

你有一个括号,WHEN你有一个额外的CASEEND

CASE  
    WHEN 
      SUBSTRING_INDEX('Provider - Remote Client - North', '-', -2) = 'Provider - Remote Client - North'
    THEN SUBSTRING_INDEX('Provider - Remote Client - North', '-', -1)
    ELSE SUBSTRING_INDEX('Provider - Remote Client - North', '-', -2)
END 
于 2013-04-19T10:01:26.820 回答
1

帮自己一个忙,仅在需要时使用括号。有一个太多了。

这是正确的查询:

CASE  
    WHEN 
    SUBSTRING_INDEX('Provider - Remote Client - North', '-', -2) = 'Provider - Remote Client - North') 
        THEN SUBSTRING_INDEX('Provider - Remote Client - North', '-', -1)
    ELSE SUBSTRING_INDEX('Provider - Remote Client - North', '-', -2)
END CASE
于 2013-04-19T10:01:05.513 回答