version: 1.1.16
select -
case '1'
when '1' then '2'
end
from test1;
异常信息如下:
com.alibaba.druid.sql.parser.ParserException: TODO : pos 18, line 1, column 9, token CASE
at com.alibaba.druid.sql.parser.SQLExprParser.primary(SQLExprParser.java:729)
at com.alibaba.druid.sql.parser.SQLExprParser.expr(SQLExprParser.java:154)
at com.alibaba.druid.sql.dialect.odps.parser.OdpsExprParser.parseSelectItem(OdpsExprParser.java:99)
at com.alibaba.druid.sql.parser.SQLSelectParser.parseSelectList(SQLSelectParser.java:675)
at com.alibaba.druid.sql.dialect.odps.parser.OdpsSelectParser.query(OdpsSelectParser.java:83)
at com.alibaba.druid.sql.parser.SQLSelectParser.select(SQLSelectParser.java:88)
at com.alibaba.druid.sql.dialect.odps.parser.OdpsStatementParser.parseSelect(OdpsStatementParser.java:69)
at com.alibaba.druid.sql.dialect.odps.parser.OdpsStatementParser.parseSelect(OdpsStatementParser.java:54)
at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:248)
at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:171)
2条答案
按热度按时间lp0sw83n1#
select -
case '1'
when '1' then '2'
end
from test1;
select 后面为啥有一横
igetnqfo2#
负号, 数仓同学写的sql, 专门验证了一下居然还能用. mysql也支持这样写.
写成
0 -
也比这好吧