[fix](Nereids) fix '' and "" in string literal (#25752)

'' represents ' in sql standard
"" represents " in sql standard
This commit is contained in:
谢健
2023-10-26 11:18:21 +08:00
committed by GitHub
parent f322ad277d
commit d7d284b4f8
4 changed files with 15 additions and 3 deletions

View File

@ -1721,7 +1721,9 @@ public class LogicalPlanBuilder extends DorisParserBaseVisitor<Object> {
public Literal visitStringLiteral(StringLiteralContext ctx) {
// TODO: add unescapeSQLString.
String txt = ctx.STRING_LITERAL().getText();
String s = LogicalPlanBuilderAssistant.escapeBackSlash(txt.substring(1, txt.length() - 1));
String s = txt.substring(1, txt.length() - 1);
s = s.replace("''", "'").replace("\"\"", "\"");
s = LogicalPlanBuilderAssistant.escapeBackSlash(s);
return new VarcharLiteral(s);
}