ballerina.io SQL LIKE 语句
ballerina.io SQL LIKE statement
我目前正尝试在 ballerina.io 中针对 MariaDB 执行以下 SQL 语句。
计划SQL:
select * FROM testDB where test LIKE '%BA%';
我得到了包含所有数据的结果集。
ballerina.io:
var selectRet = testDB->select("select * FROM testDB where test LIKE '%?%'", testREC, "BA");
我得到一个空的结果集。
版本:
芭蕾舞演员 --version
jBallerina 1.1.2
语言规范 2019R3
芭蕾工具 0.8.0
是否可以在 ballerina.io 中使用 LIKE 进行 SQL 声明?
许多问候,
马丁
参数作为单独的文字字符串传递给查询,而不是作为某种模板变量。要用通配符包围它,您需要在查询中使用concat()
:
var selectRet = testDB->select(
"select * FROM testDB where test like concat('%', ?, '%')",
testREC,
"BA"
);
或者只是在您的代码中连接通配符(这对我来说看起来更简洁):
var selectRet = testDB->select(
"select * FROM testDB where test like ?",
testREC,
"%BA%"
);
我目前正尝试在 ballerina.io 中针对 MariaDB 执行以下 SQL 语句。
计划SQL:
select * FROM testDB where test LIKE '%BA%';
我得到了包含所有数据的结果集。
ballerina.io:
var selectRet = testDB->select("select * FROM testDB where test LIKE '%?%'", testREC, "BA");
我得到一个空的结果集。
版本:
芭蕾舞演员 --version
jBallerina 1.1.2
语言规范 2019R3
芭蕾工具 0.8.0
是否可以在 ballerina.io 中使用 LIKE 进行 SQL 声明?
许多问候, 马丁
参数作为单独的文字字符串传递给查询,而不是作为某种模板变量。要用通配符包围它,您需要在查询中使用concat()
:
var selectRet = testDB->select(
"select * FROM testDB where test like concat('%', ?, '%')",
testREC,
"BA"
);
或者只是在您的代码中连接通配符(这对我来说看起来更简洁):
var selectRet = testDB->select(
"select * FROM testDB where test like ?",
testREC,
"%BA%"
);