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%"
);