Jay*_*Jay 3 javascript sql-server node.js sequelize.js typescript
我正在使用 Nodejs Typescript 和 SQL Server。我编写了查询来从数据库中查找数组匹配值。如果我传递静态数组值,则正在获取数据。添加动态数组值时,查询不执行。我的查询如下。
SELECT Name,id,date FROM venue where name IN('Bangalore','Delhi')
Run Code Online (Sandbox Code Playgroud)
下面的查询没有执行
let input = ["Bangalore","Delhi"]
SELECT Name,id,date FROM venue where name IN('${input}')
Run Code Online (Sandbox Code Playgroud)
我观察到的是,当我将动态值传递到查询中时,它采用""引号,"Bangalore","Delhi"即但查询期望的是单引号''
我知道在 Nodejs 中,我们可以传递?和 值作为参数,但在我们的例子中,我们使用 typescript 和续集它有限制。我无法使用该格式。
您需要使用array#map创建带引号的城市名称,该名称将在IN子句内传递。
const input = ["Bangalore","Delhi"],
query = `SELECT Name,id,date FROM venue where name IN (${input.map(city => `'${city}'`)})`;
console.log(query);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2177 次 |
| 最近记录: |