What is @sqltools/formatter?
The @sqltools/formatter package is a library for formatting SQL queries. It provides a way to beautify SQL code, making it more readable and maintainable. It supports various SQL dialects and allows customization of the formatting options.
What are @sqltools/formatter's main functionalities?
SQL Formatting
This feature allows you to format SQL queries. The code sample demonstrates how to format a simple SQL SELECT query using the package.
const { format } = require('@sqltools/formatter');
const query = 'SELECT * FROM table WHERE id = 1';
const formattedQuery = format(query, { language: 'sql' });
console.log(formattedQuery);
Customizing Formatting Options
This feature allows you to customize the formatting options such as indentation, case, and line breaks. The code sample shows how to format a query with custom options for indentation and uppercase keywords.
const { format } = require('@sqltools/formatter');
const options = {
language: 'sql',
indent: ' ',
uppercase: true
};
const query = 'select * from table where id = 1';
const formattedQuery = format(query, options);
console.log(formattedQuery);
Other packages similar to @sqltools/formatter
sql-formatter
sql-formatter is a popular SQL formatting library that supports multiple dialects. It is similar to @sqltools/formatter but has a different API and might have different formatting options or defaults.
pg-formatter
pg-formatter is a PostgreSQL SQL formatter. It is more specialized than @sqltools/formatter as it focuses on PostgreSQL dialect, whereas @sqltools/formatter supports multiple dialects.
SQLTools Formatter
Forked from zeroturnaround/sql-formatter but with improvements and ported Typescript.
This package is part of vscode-sqltools extension.
→ Try it online using our playground.
Install
Get the latest version from NPM/Yarn:
npm install @sqltools/formatter
#
yarn add @sqltools/formatter
Usage
import sqlFormatter from '@sqltools/formatter';
console.log(sqlFormatter.format('SELECT * FROM table1'));
Will output:
SELECT *
FROM table1
You can also pass in configuration options:
sqlFormatter.format('SELECT *', {
language: 'sql',
indent: '\t',
});
Options
option | description | type | default |
---|
language | Query language, default is Standard SQL | sql, n1ql, db2, pl/sql | sql |
indent | Characters used for indentation | string | (2 spaces) |
reservedWordCase | How to change the case of reserved words | upper , lower , null | null (no change) |
linesBetweenQueries | How many line breaks between queries | number or 'preserve' | 1 |
params | Collection of params for placeholder replacement | object for name params, array for indexed placeholders | |
Changelog
v1.2.4
v1.2.3
v1.2.2
- Add playground link and options to README.md
- Emitting declarations files for usage with Typescript.
v1.2.1
- Fixes JSON operators not inserting spaces. Issue #605
- Fixes Grant type queries. Issue #460
v1.2.1
- (Almost) first public version