Merge pull request #5359 from dataease/pr@dev@fixdatasource

fix: sqlserver 过滤中文
This commit is contained in:
taojinlong 2023-05-30 11:23:04 +08:00 committed by GitHub
commit eb0a07b91d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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(",")) + "')";
}