From 9cb737df0d6f0174f2c70b12aac978820f6b788d Mon Sep 17 00:00:00 2001 From: junjun Date: Thu, 21 Nov 2024 09:57:29 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=95=B0=E6=8D=AE=E9=9B=86):=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E6=95=B0=E5=80=BC=E4=B8=8B=E6=8B=89=E5=A4=9A=E9=80=89?= =?UTF-8?q?=E5=87=BA=E9=94=99=20#13449?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/dataease/commons/utils/SqlparserUtils.java | 6 +++++- .../main/java/io/dataease/engine/trans/ExtWhere2Str.java | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/commons/utils/SqlparserUtils.java b/core/core-backend/src/main/java/io/dataease/commons/utils/SqlparserUtils.java index 53b54bc5b8..0dc588fe92 100644 --- a/core/core-backend/src/main/java/io/dataease/commons/utils/SqlparserUtils.java +++ b/core/core-backend/src/main/java/io/dataease/commons/utils/SqlparserUtils.java @@ -606,7 +606,11 @@ public class SqlparserUtils { && sqlVariableDetails.getDeType() == 0) { return "N'" + String.join("', N'", sqlVariableDetails.getValue()) + "'"; } else { - return "'" + String.join("','", sqlVariableDetails.getValue()) + "'"; + if (sqlVariableDetails.getDeType() == 2 || sqlVariableDetails.getDeType() == 3) { + return String.join(",", sqlVariableDetails.getValue()); + } else { + return "'" + String.join("','", sqlVariableDetails.getValue()) + "'"; + } } } else if (sqlVariableDetails.getOperator().equals("between")) { if (sqlVariableDetails.getDeType() == 1) { diff --git a/core/core-backend/src/main/java/io/dataease/engine/trans/ExtWhere2Str.java b/core/core-backend/src/main/java/io/dataease/engine/trans/ExtWhere2Str.java index 97e5b31153..015c32b064 100644 --- a/core/core-backend/src/main/java/io/dataease/engine/trans/ExtWhere2Str.java +++ b/core/core-backend/src/main/java/io/dataease/engine/trans/ExtWhere2Str.java @@ -168,7 +168,11 @@ public class ExtWhere2Str { || StringUtils.containsIgnoreCase(request.getDatasetTableField().getType(), "NCHAR")) { whereValue = "(" + value.stream().map(str -> "'" + SQLConstants.MSSQL_N_PREFIX + str + "'").collect(Collectors.joining(",")) + ")"; } else { - whereValue = "('" + StringUtils.join(value, "','") + "')"; + if (request.getDatasetTableField().getDeType() == 2 || request.getDatasetTableField().getDeType() == 3) { + whereValue = "(" + StringUtils.join(value, ",") + ")"; + } else { + whereValue = "('" + StringUtils.join(value, "','") + "')"; + } } } }