From 554e9c15721fc36ca4e38e953d18fe9283b33f86 Mon Sep 17 00:00:00 2001 From: junjie Date: Wed, 1 Sep 2021 13:28:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=95=B0=E6=8D=AE=E6=BA=90=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E8=AE=A1=E7=AE=97=E8=BF=87=E6=BB=A4=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../provider/oracle/OracleQueryProvider.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java b/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java index 97447177f0..4750b06fe7 100644 --- a/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java @@ -707,7 +707,7 @@ public class OracleQueryProvider extends QueryProvider { } if (field.getDeType() == 1) { - if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5 || field.getDeExtractType() == 1) { + if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) { whereName = String.format(OracleConstants.TO_DATE, originName, OracleConstants.DEFAULT_DATE_FORMAT); } if (field.getDeExtractType() == 2 || field.getDeExtractType() == 3) { @@ -726,7 +726,11 @@ public class OracleQueryProvider extends QueryProvider { } else if (StringUtils.containsIgnoreCase(request.getTerm(), "like")) { whereValue = "'%" + value + "%'"; } else { - whereValue = String.format(OracleConstants.WHERE_VALUE_VALUE, value); + if (field.getDeType() == 1) { + whereValue = String.format(OracleConstants.TO_DATE, "'" + value + "'", OracleConstants.DEFAULT_DATE_FORMAT); + } else { + whereValue = String.format(OracleConstants.WHERE_VALUE_VALUE, value); + } } list.add(SQLObj.builder() .whereField(whereName) @@ -762,7 +766,7 @@ public class OracleQueryProvider extends QueryProvider { } if (field.getDeType() == 1) { - if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5 || field.getDeExtractType() == 1) { + if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) { whereName = String.format(OracleConstants.TO_DATE, originName, OracleConstants.DEFAULT_DATE_FORMAT); } if (field.getDeExtractType() == 2 || field.getDeExtractType() == 3) { @@ -782,7 +786,9 @@ public class OracleQueryProvider extends QueryProvider { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String startTime = simpleDateFormat.format(new Date(Long.parseLong(value.get(0)))); String endTime = simpleDateFormat.format(new Date(Long.parseLong(value.get(1)))); - whereValue = String.format(OracleConstants.WHERE_BETWEEN, startTime, endTime); + String st = String.format(OracleConstants.TO_DATE, "'" + startTime + "'", OracleConstants.DEFAULT_DATE_FORMAT); + String et = String.format(OracleConstants.TO_DATE, "'" + endTime + "'", OracleConstants.DEFAULT_DATE_FORMAT); + whereValue = st + " AND " + et; } else { whereValue = String.format(OracleConstants.WHERE_BETWEEN, value.get(0), value.get(1)); }