Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    sql92-jsonpublic

    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 Dependency Status 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

    install

    npm i sql92-json

    Downloadsweekly downloads

    27

    version

    0.19.1

    license

    MIT

    homepage

    g14n.info

    repository

    githubgithub

    last publish

    collaborators

    • avatar