diff --git a/core/src/main/java/com/alibaba/druid/sql/parser/Lexer.java b/core/src/main/java/com/alibaba/druid/sql/parser/Lexer.java index 247669ad0a..88084f2ec4 100644 --- a/core/src/main/java/com/alibaba/druid/sql/parser/Lexer.java +++ b/core/src/main/java/com/alibaba/druid/sql/parser/Lexer.java @@ -1159,7 +1159,7 @@ public class Lexer { return; } - if (isFirstIdentifierChar(first) || first == '{') { + if (isFirstIdentifierChar(first) || (first >= '0' && first <= '9') || first == '{') { stringVal = null; mark = pos; while (ch != ';' && ch != EOI) { diff --git a/core/src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java b/core/src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java index ff6f74087e..b058ccc159 100644 --- a/core/src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java +++ b/core/src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java @@ -5245,7 +5245,7 @@ public class SQLExprParser extends SQLParser { } } else { if (lexer.token == Token.EQ) { - if (dbType == DbType.odps) { + if (dbType == DbType.odps && (parent instanceof SQLSetStatement || parent == null)) { lexer.nextTokenForSet(); } else { lexer.nextToken();