开发者社区> 问答> 正文

此查询有什么问题?我收到一个错误消息,因为“此服务器版本在此位置的选择无效,期望:'(',WITH”

已解决

我的查询

错误:选择在此服务器版本的此位置无效,期望:'(',WITH

set @prev="SAME";
select `date`, `COL1` , `COL2` ,
            if( `COL1`>`COL2` and ( (@prev="SAME") or (@prev="UP") ) ) then
                "DOWN", @prev:="DOWN"
            else if( `COL1` < `COL2` and ( (@prev="SAME") or (@prev="DOWN") ) ) then
                "UP", @prev:="UP"
            else
                "SAME"
            END IF
            as 'sign' 
  from 
      temp;

展开
收起
保持可爱mmm 2019-12-12 15:31:40 668 0
2 条回答
写回答
取消 提交回答
  • 采纳回答

    您不能IF...THEN在查询中使用。您可以使用IF(condition, truevalue, falsevalue)或CASE WHEN condition THEN value1 WHEN condition2 THEN value2 ELSE something END。

    IF...THEN 是过程语法。

    问题来源于stack overflow

    2019-12-12 15:32:04
    赞同 展开评论 打赏
  • 精于基础,广于工具,熟于业务。

    应该是查询语句有问题,单引号或者括号排查一下是不是中文格式而不是英文格式。

    2019-12-12 15:35:34
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
如何运维千台以上游戏云服务器 立即下载
网站/服务器取证 实践与挑战 立即下载
ECS计算与存储分离架构实践 立即下载