From e0240d593ec4bb7eaaa41c860337314757d895b9 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Tue, 30 May 2023 11:19:23 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20sqlserver=20=E8=BF=87=E6=BB=A4=E4=B8=AD?= =?UTF-8?q?=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../query/sqlserver/SqlserverQueryProvider.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java index 7b470d7382..b9d8acf5c5 100644 --- a/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java @@ -899,9 +899,9 @@ public class SqlserverQueryProvider extends QueryProvider { whereValue = "''"; } else if (StringUtils.containsIgnoreCase(item.getTerm(), "in") || StringUtils.containsIgnoreCase(item.getTerm(), "not in")) { if(field.getType().equalsIgnoreCase("NVARCHAR")){ - whereValue = Arrays.asList(value.split(",")).stream().map(str -> { + whereValue ="(" + Arrays.asList(value.split(",")).stream().map(str -> { return "N" + "'" + str + "'"; - }).collect(Collectors.joining(",")); + }).collect(Collectors.joining(",")) + ")"; }else { whereValue = "('" + String.join("','", value.split(",")) + "')"; } @@ -1036,9 +1036,9 @@ public class SqlserverQueryProvider extends QueryProvider { whereValue = "''"; } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in") || StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "not in")) { if(field.getType().equalsIgnoreCase("NVARCHAR")) { - whereValue = Arrays.asList(value.split(",")).stream().map(str -> { + whereValue = "(" + Arrays.asList(value.split(",")).stream().map(str -> { return "N" + "'" + str + "'"; - }).collect(Collectors.joining(",")); + }).collect(Collectors.joining(",")) + ")"; }else { whereValue = "('" + String.join("','", value.split(",")) + "')"; } @@ -1150,9 +1150,9 @@ public class SqlserverQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { if(request.getDatasetTableField().getType().equalsIgnoreCase("NVARCHAR")) { - whereValue = value.stream().map(str -> { + whereValue = "(" + value.stream().map(str -> { return "N" + "'" + str + "'"; - }).collect(Collectors.joining(",")); + }).collect(Collectors.joining(",")) + ")"; }else { whereValue = "('" + StringUtils.join(value, "','") + "')"; } @@ -1334,9 +1334,9 @@ public class SqlserverQueryProvider extends QueryProvider { whereValue = "''"; } else if (StringUtils.containsIgnoreCase(f.getTerm(), "in")) { if(y.getType().equalsIgnoreCase("NVARCHAR")){ - whereValue = Arrays.asList(f.getValue().split(",")).stream().map(str -> { + whereValue = "(" +Arrays.asList(f.getValue().split(",")).stream().map(str -> { return "N" + "'" + str + "'"; - }).collect(Collectors.joining(",")); + }).collect(Collectors.joining(",")) + ")"; }else { whereValue = "('" + String.join("','", f.getValue().split(",")) + "')"; }