正确的Nodejs mssql参数化LIKE查询语法

时间:2017-04-14 17:51:12

标签: sql-server node.js wildcard parameterized

对SQL Server使用Nodejs和mssql包,我理解带参数的普通SELECT查询:

aVar = "somestring"; // used as example, the real input is from a web form
request = new sql.Request(conn)
.input('aParam', sql.NVarChar(200), aVar);
q = "SELECT * FROM myTable WHERE theColumn = @aParam";
request.query(q, function(err, record) { ...

那些工作很好。将其更改为使用LIKE,我无法使其工作。我在%字符之前尝试过单引号,在它之后,在它周围,在字符串周围,整个事情等等。执行此操作:

q = "SELECT * FROM myTable WHERE theColumn LIKE " + "'%@aParam%'";

不会导致任何错误,但不会返回任何结果。使用这些单引号的所有其他尝试都会导致查询语法错误。我似乎无法找到任何用通配符参数化查询的文档。我在哪里错了?

1 个答案:

答案 0 :(得分:0)

除非您编写低级别的驱动程序/工作程序,否则我建议您使用任何ORM:

await

async只能在{{1}}个函数中使用。对于支持此开箱即用的框架,请查看Koa.js https://github.com/koajs/koa