JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3
  • Score
    100M100P100Q39879F
  • License MIT

can stringify a JSON into a SQL and viceversa parse a SQL statement and serialize it into a JSON

Package Exports

  • sql92-json

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sql92-json) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

SQL92-JSON

can stringify a JSON into a SQL and viceversa parse a SQL statement and serialize it into a JSON

Installation | API | Examples | Recipes | References | License

NPM version Build Status Badge size Coverage Status JavaScript Style Guide

Demo

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.

License

MIT