[Fix](Nereids) failed to fold date_format() to constant (#20976)

This commit is contained in:
mch_ucchi
2023-06-20 15:11:25 +08:00
committed by GitHub
parent ec34f72204
commit f4d3f4ae19

View File

@ -23,7 +23,7 @@ import org.apache.doris.nereids.trees.expressions.Expression;
import org.apache.doris.nereids.trees.expressions.functions.scalar.DateFormat;
import org.apache.doris.nereids.trees.expressions.functions.scalar.FromUnixtime;
import org.apache.doris.nereids.trees.expressions.literal.Literal;
import org.apache.doris.nereids.trees.expressions.literal.StringLiteral;
import org.apache.doris.nereids.trees.expressions.literal.VarcharLiteral;
import com.google.common.collect.Lists;
@ -75,11 +75,11 @@ public class SupportJavaDateFormatter extends AbstractExpressionRewriteRule {
Literal literal = (Literal) formatterExpr;
String originFormatter = literal.getStringValue();
if (originFormatter.equals("yyyyMMdd")) {
return new StringLiteral("%Y%m%d");
return new VarcharLiteral("%Y%m%d");
} else if (originFormatter.equals("yyyy-MM-dd")) {
return new StringLiteral("%Y-%m-%d");
return new VarcharLiteral("%Y-%m-%d");
} else if (originFormatter.equals("yyyy-MM-dd HH:mm:ss")) {
return new StringLiteral("%Y-%m-%d %H:%i:%s");
return new VarcharLiteral("%Y-%m-%d %H:%i:%s");
}
}
return formatterExpr;