仅做参考,具体bean信息按照实际使用的来
if ("date".equalsIgnoreCase(rule.getField_type()) || "timestamp".equalsIgnoreCase(rule.getField_type()) ||
"datetime".equalsIgnoreCase(rule.getField_type())) {
// 时间的 <= >= 入参格式为 20211207
String colName = rule.getCol_id();
// 使用 to_char 的库放这
boolean formatFlag1 = ! entityType.equalsIgnoreCase("oracle") && ! entityType.equalsIgnoreCase("db2")
&& ! entityType.equalsIgnoreCase("greenplum") && ! entityType.equalsIgnoreCase("x-cloud");
//使用 date_format 的库放这
boolean formatFlag2 = ! entityType.equalsIgnoreCase("mysql") && ! entityType.equalsIgnoreCase("gbase")
&& ! entityType.equalsIgnoreCase("hive");
if (formatFlag1) {
if (formatFlag2) {
throw new IllegalArgumentException("Unsupport database type!");
} else if (entityType.equalsIgnoreCase("hive")) {
//hive 的时间函数特殊处理
colName = "date_format(" + colName + ", '" + "YMMdd" + "')";
} else {
colName = "date_format(" + colName + ", '" + "%Y%m%d" + "')";
}
} else {
colName = "to_char(" + colName + ", '" + "yyyyMMdd" + "')";
}
}