Skip to content

unicreators/sql-criteria-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SqlCriteriaParser

一个可以将 javascript 对象表达式转换为 T-SQL 条件语句的转换器。

let e = {
    '$or': {
        '$or': {
            'name': {
                '$or': { '$=': 'yichen', '$endsWith': 'a' }
            },
            'age': { '$>': 10, '$<': 22 }
        },
        'gender': 1,
        'level': [1, 2, 3],
        'size': { '$in': [18, 19] }
    }
};

let { segment, values } = sqlCriteriaParser.parse(e);


console.log(segment);
// (((name = ?) OR (name LIKE ?)) OR ((age > ?) AND (age < ?))) OR (gender = ?) OR (level IN (?)) OR (size IN (?))

console.log(values);
// ['yichen', '%a', 10, 22, 1, [1, 2, 3], [18, 19]]

Install

$ npm install sql-criteria-parser

Usage

const SqlCriteriaParser = require('sql-criteria-parser');

let parser = new SqlCriteriaParser('?');

let e = { '$or': { 'name': 'yichen', 'age': 22 } };
let { segment, values } = parser.parse(e);

console.log(segment);
// '(name = ?) OR (age = ?)'

console.log(values);
// ['yichen', 22]

Operator

  • $= to =

  • $> to >

  • $< to <

  • $>= to >=

  • $<= to <=

  • $<> to <>

  • $startsWith to LIKE

  • $endsWith to LIKE

  • $contains to LIKE

  • $in to IN

  • $and to AND

  • $or to OR

License

MIT

About

javascript sql criteria expression parser.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published