@zhengjialux/sql92-json
v0.19.11
Published
can stringify a JSON into a SQL and viceversa parse a SQL statement and serialize it into a JSON
Downloads
12
Maintainers
Readme
SQL92-JSON
can stringify a JSON into a SQL and viceversa parse a SQL statement and serialize it into a JSON.
基于 SQL92-JSON 对 stringify 模块解析添加了,除原作者开发的常规内置函数外的自定义函数支持。例子:https://github.com/pinyixia/graphical-sql-parser
Installation | API | Examples | Recipes | References | License
Installation
Using npm
With npm do
npm install sql92-json
Using a CDN
Add this to your HTML page
<script src="https://unpkg.com/sql92-json/dist/sql92-json.min.js"></script>
API
Both CommonJS and ES6 imports are supported. Code snippets below use
require
, it is also possible to do
import { parse, stringify } from 'sql92-json'
stringify
Convert a JSON to SQL
Both require('sql92-json').stringify
and require('sql92-json/stringify')
are valid.
var json2sql = require('sql92-json').stringify
console.log(json2sql({ SELECT: ['*'], FROM: ['revenue'] }))
//
// SELECT *
// FROM revenue
//
parse
Convert an SQL to JSON
Both require('sql92-json').parse
and require('sql92-json/parse')
are valid.
var sql2json = require('sql92-json').parse
console.log(sql2json('SELECT * FROM revenue')
// {
// SELECT: ['*'],
// FROM: ['revenue']
// }
Recipes
Examples
See examples folder where every .json
file has its homonym .sql
.
See for example the following example JSON and its corresponding SQL.
{
"SELECT": [ { "COUNT": "*", "AS": "num" } ],
"FROM": [
{
"SELECT": ["*"],
"FROM": ["mytable"],
"WHERE": [
"yyyymmdd", { "=": 20170101 },
{ "AND": [ "country", { "IN": ["IT", "US"] } ] },
{ "AND": [
"categoryid", { "BETWEEN": [100, 200] },
{ "OR": [ "productname", { "!=": "'icecream'" } ] }
] }
]
}
]
}
SELECT COUNT(*) AS num
FROM (
SELECT *
FROM mytable
WHERE yyyymmdd = 20170101
AND country IN ( 'IT', 'US' )
AND (
categoryid BETWEEN 100 AND 200
OR productname != 'icecream'
)
)
References
sql1992.txt was downloaded from here.