问题标签 [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 回答
1936 浏览

java - JSqlParser - 从列中获取表名

我刚刚开始探索 JSqlparser。根据我的理解,我已经修改了 TablesNamesFinder 以提取列和表,它的工作正常但一个很小的问题。

这不会打印表格,在大多数情况下它会打印 null 并且在极少数情况下它会打印表格的别名但不打印表格。有什么我忘记了吗?

其余访问

0 投票
1 回答
147 浏览

oracle - JSQLParser 和 Oracles LNNVL(类似于 IIF)

我想扩展 JSQLParser 以便它接受IIForacle 的命令。以下 stmt 产生异常,因为该函数使用表达式:

SELECT LNNVL(A > 10, 1, 0) FROM TBL_NAME;

你介意给我提示如何更改 jj 文件吗?

变化

IIF替换为LNNVL. LNNVL仅在 WHERE 条件下有效,但不会引发异常。

0 投票
0 回答
905 浏览

java - 如何使用 Jsql Parser 从 FROM 子句中获取子查询?

我有一个示例 sql 查询,例如

我需要使用 jsql 解析器从 sql 中获取 FROM 子句,我需要删除不需要的括号?

我尝试了以下

有更好的方法吗?

0 投票
0 回答
353 浏览

java - 如何使用 JSqlparser 解析具有子查询的查询

我正在尝试解析具有如下子查询的查询:

通过在 java 中使用JSqlParser。是否可以使用 JSqlParser 解析它?如果没有,请提出更好的方法。

0 投票
1 回答
3168 浏览

java - 从 SQL/HQL Java 解析表和列名

我正在寻找 Java 中的开源 API 来解析 SQL / HQL 查询,以便它为我提供其中使用的列名和表名。我尝试使用 JSQLParser,它为我提供了查询中使用的表名。但我看不到对获取查询中使用的列名的支持。有没有其他 API 可以帮助我解决这个问题?我知道通用 SQL 解析器,但它似乎是付费的。

这是使用 JSQLParser 的代码片段,它为我提供了查询中的表名:

提前感谢您在这方面的任何帮助。

0 投票
1 回答
578 浏览

java - 如何在 Jsqlparser 中对访客进行单元测试?

我已经实现了 JSqlparser 的访问者来解析 SQL 查询。代码工作得很好。我不确定如何为这些访问者进行单元测试。例如我有以下 sql 语句:

为了解析它,我实现了 StatementVisitor 接口,我的代码如下所示:

然后我在另一个类中调用它,如下所示:

我想为我的 StmntVisitorImpl、SelectVisitorImpl 和其他实现 JSqlparser 给出的访问者接口的类编写单元测试用例。我该怎么做?

0 投票
1 回答
1123 浏览

java - JSqlParser - 漂亮的打印 where 子句

我已经开始使用 JSqlParser,我可以解析 Where 子句,但我无法进一步使用它。

JSqlParser github链接

事实上,我曾尝试覆盖访问方法,但不明白如何达到我的目标。

假设我有:(a=1 AND (b=2 OR (c=3 AND d=4))) OR e=2作为输入,我想作为输出:

我的最终目标不是漂亮的打印,而是了解如何知道给定状态下打印的当前深度。为了随心所欲地挖树。

我已经开始了一段代码,解析 where 子句:

你能告诉我如何开始这种事情吗?我必须使用访问方法还是我错了?

谢谢 !

0 投票
1 回答
1074 浏览

sql - JSqlParser:CCJSqlParserUtil.parse(sql) 异常;

在 sqlserver 2008 中:

在SSMS中执行以上两条语句,结果是一样的。

但是当我使用格式化sql 1和2的方法时:</p>

第一个抛出异常,我不能使用 Subquery AS 'PIVOT' ResultSet。

像这样的异常消息:

请帮我!

0 投票
1 回答
340 浏览

java - JSqlParser for 'create table as ..' 查询

JSqlParser 中是否有任何选项可以解析查询,例如

0 投票
1 回答
512 浏览

java - jsqlparser 评估条件

以下字符串:

产生一个有效的输出:x=92 AND y=29它可以正常工作,CCJSqlParserUtil.parseCondExpression但它不应该抛出以下异常吗?

但输出只是:x=92

此外,我应该使用哪个表达式来实现我自己的访问者?IE,

这样当遇到“lasd”(不是,或,和以外的任何东西)时,我可以抛出异常而不是默默地忽略表达式的其余部分?