diff --git a/src/main/java/com/alibaba/druid/sql/parser/Lexer.java b/src/main/java/com/alibaba/druid/sql/parser/Lexer.java index cb2a5f3493..5d61b7293e 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/Lexer.java +++ b/src/main/java/com/alibaba/druid/sql/parser/Lexer.java @@ -397,13 +397,8 @@ public class Lexer { scanChar(); token = COLONCOLON; } else { - if (isDigit(ch)) { - unscan(); - scanVariable(); - } else { - unscan(); - scanVariable(); - } + unscan(); + scanVariable(); } return; case '#': @@ -455,8 +450,7 @@ public class Lexer { scanVariable(); return; case '-': - int subNextChar = charAt(pos + 1); - if (subNextChar == '-') { + if (charAt(pos +1) == '-') { scanComment(); if ((token() == Token.LINE_COMMENT || token() == Token.MULTI_LINE_COMMENT) && skipComment) { bufPos = 0; diff --git a/src/main/java/com/alibaba/druid/sql/parser/Token.java b/src/main/java/com/alibaba/druid/sql/parser/Token.java index 11d59be845..d1a02dbf0b 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/Token.java +++ b/src/main/java/com/alibaba/druid/sql/parser/Token.java @@ -306,7 +306,7 @@ public enum Token { TILDE_EQ("~="), QUES("?"), COLON(":"), - COLONCOLON(":"), + COLONCOLON("::"), COLONEQ(":="), EQEQ("=="), LTEQ("<="),