如何将 MSSQL 查询中的单引号转义为 JDBC 变量
How to escape single quote on MSSQL query into JDBC variable
在 Jmeter 中使用 JDBC 我需要转义对变量执行的单引号。
我原来的查询是:
select id from [Teams] where name = '${team}'
.
但是,当我得到一个像这样的团队时:Ain M'lila,查询没有执行
我试过但没有用的是:
DECLARE @NevName nvarchar
SET @NevName = REPLACE({${team}, '''', ''''''')
select id from [test8].[Team] where name = @NevName
感谢任何解决方案
为了转义单引号,您需要 add another single quote to it
特别是您的情况,您可以使用 __groovy() function 使用额外的 '
来逃避 '
,例如:
${__groovy(vars.get('team').replaceAll("\'"\, "''"),)}
演示:
感谢 Dmitri T 的努力,但我的解决方案是:
JSR223 预处理器:以及内部:
String userString = vars.get("team");
String changedUserString = userString.replace("'","''");
vars.put("teamChanged", changedUserString);
然后用作查询:
select id from [test8].[Team] where name = '${teamChanged}'
在 Jmeter 中使用 JDBC 我需要转义对变量执行的单引号。
我原来的查询是:
select id from [Teams] where name = '${team}'
.
但是,当我得到一个像这样的团队时:Ain M'lila,查询没有执行
我试过但没有用的是:
DECLARE @NevName nvarchar
SET @NevName = REPLACE({${team}, '''', ''''''')
select id from [test8].[Team] where name = @NevName
感谢任何解决方案
为了转义单引号,您需要 add another single quote to it
特别是您的情况,您可以使用 __groovy() function 使用额外的 '
来逃避 '
,例如:
${__groovy(vars.get('team').replaceAll("\'"\, "''"),)}
演示:
感谢 Dmitri T 的努力,但我的解决方案是:
JSR223 预处理器:以及内部:
String userString = vars.get("team");
String changedUserString = userString.replace("'","''");
vars.put("teamChanged", changedUserString);
然后用作查询:
select id from [test8].[Team] where name = '${teamChanged}'