2017-04-14 13 views
0

LIKE 파라미터, 나는 매개 변수 SELECT 쿼리를 정상 이해합니다. 이것을 LIKE을 사용하도록 변경하면 제대로 작동하지 않습니다. 올바른 Nodejs 경우 MSSQL 쿼리 구문 Nodejs 및 SQL Server에 대한 <code>mssql</code> 패키지를 사용

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

어떤 오류가 발생하지 않습니다,하지만 결과를 반환하지 : 나는 % 문자 앞에 작은 따옴표를 시도한 후, 주위, 단지 등 문자열, 모든 일, 주위에 이렇게. 이러한 작은 따옴표로 시도하면 쿼리 구문 오류가 발생합니다. 와일드 카드로 쿼리를 매개 변수화하기위한 문서를 찾는 것 같습니다. 내가 이걸 어디서 잘못 먹었습니까? 당신은 낮은 수준의 드라이버/노동자를 작성하지 않는 한

답변

0

, 나는 어떤 ORM을 사용하는 것이 좋습니다 :

const Sequelize = require('sequelize'); 
const sequelize = new Sequelize('database', 'username', 'password'); 

const MyTable = sequelize.define('myTable', { 
    theColumn: Sequelize.STRING 
}); 

const aVar = 'somestring'; 

const results = await MyTable.findAll({ 
    where: { 
     theColumn: { $like: `%${aVar}%` } 
    } 
    }); 
}) 
console.dir(results); 

await은 내부 async 기능을 사용할 수 있습니다. 프레임 워크를 지원하려면 Koa.js를 살펴보십시오 https://github.com/koajs/koa

+0

ORM 권장 사항을 이해하면 앞으로 나아갈 것이지만 현재의 mssql 패키지를 사용하는 솔루션을 기대하고 있습니다. –