Registry / database / mssql-query-builder

mssql-query-builder

JSON →
library1.0.3jsnpmunverified

A JavaScript library for dynamically building Microsoft SQL Server queries using a fluent, chainable API. Version 1.0.3 (latest) generates parameterized SQL with automatic variable naming via `input()`, supports SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, OFFSET/FETCH for pagination, and conditionally constructs queries. The library integrates with `mssql` for execution but does not require it; queries can be built and output as strings. It contrasts with raw string concatenation by reducing injection risks and improving readability. No active maintenance since 2021; last commit over two years ago.

npm install mssql-query-builder
INSTALL
IMPORT
SIG · MSSQL-QUERY-BUILDE
M
mssql-query-builder
databasejavascriptv1.0.3
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

QueryBuilder
import QueryBuilder from 'mssql-query-builder'
const { QueryBuilder } = require('mssql-query-builder')
The package uses a default export, not named. CommonJS require without .default will fail.
default import (CommonJS)
const QueryBuilder = require('mssql-query-builder').default
const QueryBuilder = require('mssql-query-builder')
In CommonJS, you must access the `.default` property because the library is compiled as an ES module with a default export.
QueryBuilder type
import type QueryBuilder from 'mssql-query-builder'
import { QueryBuilder } from 'mssql-query-builder'
For TypeScript type imports, use `import type` because QueryBuilder is a default export. Named import will not find the type.

Shows constructing a QueryBuilder, chaining methods to build a parameterized SQL query, stripping it to a string, and executing it.

import QueryBuilder from 'mssql-query-builder'; const query = new QueryBuilder(); query .query('SELECT a FROM b') .from('c') .where('d = @e') .input('value', 'e', 'NVarChar') .offset(0) .fetch(10); const sql = query.buildQuery(); console.log(sql); // Executes using mssql if configured query.execute().then(result => console.log(result));
Debug
Known issues
deprecatedLibrary has not been updated since 2021. No support for newer mssql versions or TypeScript improvements.
fix
Consider using alternatives like Knex.js or TypeORM for active support.
affects: >=1.0.0
gotchaCommonJS require() returns an object with default property. Must use .default.
fix
Use `const QueryBuilder = require('mssql-query-builder').default;`
affects: >=1.0.0
gotchaThe `input()` method name is required as a string without @ prefix; the library prepends @__QB_INPUT_.
fix
Use `query.input('value', 'myParam', ...)` not `@myParam`.
affects: >=1.0.0
gotchaSQL Server specific syntax is assumed; queries may not be portable to other databases.
fix
Only use this library for Microsoft SQL Server.
affects: >=1.0.0
Errors
Common errors & fixes
TypeError: QueryBuilder is not a constructor
CommonJS import without .default. `const QueryBuilder = require('mssql-query-builder')` gives an object.
fix
`const QueryBuilder = require('mssql-query-builder').default;`
Cannot find module 'mssql'
mssql is an optional peer dependency not installed.
fix
Install mssql: `npm install mssql` or use `query.buildQuery()` instead of `execute()`.
TypeError: query.input is not a function
Forgot to create a QueryBuilder instance; calling input on the class not instance.
fix
Create instance: `const query = new QueryBuilder();` then `query.input(...)`.
Upgrade
Version history
1.0.3latest on npm
Audit
Dependencies
mssqloptionalOptional peer dependency for executing queries via `query.execute()`. If not installed, only query building is possible.
Agent activity
2 hits · last 30 days
node
2
Resources
mssql-query-builder — npm install mssql-query-builder · libregistry