问题标签 [jsqlparser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3953 浏览

java - 使用 JSQLParser 识别 SQL 中的函数调用

如何使用 JSQLParser 区分函数调用和字段名称?

例如,查询SELECT COUNT(*) FROM db.table解析COUNT(*)为字段名称而不是函数调用。

我需要做什么来更改 SQL 解析以显示COUNT(*)为函数调用?

谢谢,

最大限度

0 投票
3 回答
6782 浏览

java - 如何使用 JSQLPARSE 从 SQl 中检索表名和列名

我是第一次使用 JSQLPARSER。我有一些动态出现的 SQL 文件,我需要从该 SQL 中读取表名和列名。经过大量谷歌搜索后,我尝试使用 JSQLPARSER。我正在尝试从文件中读取列名,但由于表达式而无法读取列名,请任何人纠正我出错的代码。我得到 CLASSCASTEXCEPTION 代码:

0 投票
1 回答
1349 浏览

java - 使用 JSQLParser 从项目中提取多个

我正在编写一个 SQL 查询评估器,并且我正在使用 JSQLParser 来解析查询。现在看来(并且也通过此链接http://sourceforge.net/p/jsqlparser/feature-requests/2/建议)JSQLParser 不允许 SQL 的 FROM 子句中的多个项目。

当我做

where statement 是 type 的对象PlainSelect,我只从 FROM 子句中获得第一个表名。FromItem 类中没有toArray()方法。

有什么解决方法吗?

0 投票
1 回答
917 浏览

java - 请帮助修复 CCJSqlParser 异常

我使用 CCJSqlParser 来解析 sql。我会遇到致命的问题。

我的java代码如下

例外情况如下:

0 投票
1 回答
459 浏览

jsqlparser - 请帮助解决 CCJSqlParser 问题

我使用下面的代码来获取选定的列。但是在列项中,为什么 table.getName() 是别名 t1 或 t2 而 table.getAlias() 为空?

是否有任何示例代码可以同时获取表名(Spark_Test_1,Spark_Test_2)和别名表名(t1,t2)?

0 投票
2 回答
509 浏览

java - javac CLASSPATH 问题

这似乎是非常微不足道的。但我被困了一段时间。

我的CLASSPATH

输出ll

我的test.java文件:

输出javac

下面的命令也会产生同样的错误:

jsqlparser 的来源:http: //jsqlparser.sourceforge.net/docs/

有人可以帮我解决这个问题吗?我也尝试在 IntelliJ 上使用这个库,但没有得到认可。我遵循了添加外部库的标准过程,如:如何在 IntelliJ IDEA 中添加外部库?

FWIW 我使用tmux. 希望这不是 CLASSPATH 问题的问题。

0 投票
4 回答
788 浏览

java - 我怎样才能使这个 JAVACC 语法与 [] 一起工作?

我正在尝试更改 JSqlParser 项目中的语法,该项目处理指定标准 SQL 语法的 javacc 语法文件 .jj。我很难让一个部分工作,我把它缩小到以下,大大简化了语法。

基本上我有一个定义 Column : [table ] 。场地

但表本身也可以包含“。” char,这会导致混乱。

我直观地认为以下语法应该接受以下所有句子:

选择 mytable.myfield

选择我的领域

选择 mydb.mytable.myfield

但实际上它只接受上面的第 2 和第 3。每当它看到“.”时,它就会进入要求 2 点版本的表格(即表格的第一推导规则)

我怎样才能使这个语法起作用?

非常感谢杨

0 投票
2 回答
3795 浏览

java - 从JAVA中的sql语句获取表名和查询类型

我是 jsqlparser 的新手,并试图解析 sql 语句以获取表名及其查询类型(在 Java 中)。

例如 1。
INSERT INTO Customers (CustomerName, Country) SELECT SupplierName, Country FROM Suppliers WHERE Country='Germany'
从这个查询中,我想得到表名Suppliers和它的查询类型SELECT
同样,表名Suppliers及其查询类型INSERT

例如 2。
UPDATE CUSTOMERS SET SALARY = SALARY * 0.25 WHERE AGE IN (SELECT AGE FROM CUSTOMERS_BKP WHERE AGE >= 27 )
从这个查询中,我想得到表名CUSTOMERS_BKP和它的查询类型SELECT
同样,表名CUSTOMERS及其查询类型UPDATE

例如 3。
UPDATE CUSTOMERS SET SALARY = SALARY * 0.25 WHERE AGE IN (SELECT AGE FROM CUSTOMERS WHERE AGE >= 27 )
(我知道这个查询可以简化,但是例如我在这里粘贴了。)
从这个查询中,我想获取表名CUSTOMERS及其查询类型SELECT
同样,表名CUSTOMERS及其查询类型UPDATE
注意:这里的表名相同但查询类型不同。

同样,我想为任何复杂的 sql 查询获取表名及其查询类型。

你能帮我解决这个问题吗?

如果您希望我提供任何详细信息,请发表评论。

0 投票
0 回答
349 浏览

java - 是否可以使用 JSQLParser 屏蔽 SQL 语句的 where 子句中的值?

我必须屏蔽或删除我的 sql 语句的 where 子句中的值。我正在使用 JSQL 解析器进行解析。有什么方法可以实现吗?

0 投票
2 回答
1586 浏览

java - Java 的 SQL 查询解析器

我正在寻找用于 MySQL 查询的 SQL 查询解析器。使用它我可以解析查询、修改查询对象并打印回修改后的查询

JSQL Parser 正是我所需要的,但它有 2 个主要问题,同时在列值中转义单引号 https://github.com/JSQLParser/JSqlParser/issues/167 https://github.com/JSQLParser/JSqlParser/issues/166

所以我正在寻找可以帮助我完成任务的开源替代品

我试过的 Presto-parser 无法解析更新查询

如果其他人知道任何其他可靠的 SQL 解析库,请告诉我