问题标签 [sql-parser]

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 回答
780 浏览

java - 如何在方解石中遍历sqlNode

我需要将所有表名和列名转换为 SQL 查询中的另一个名称,该名称将以字符串的形式出现,我必须使用 Calcite SQL 解析器来完成。我只知道我必须实现访问者界面,但我不知道该怎么做。请帮助我,并给我一些关于如何做到这一点的基本信息。

很抱歉问这样的基本问题,但我浏览了 Calcite sqlparser 的文档,不知道该怎么做,也有很少的教程。

0 投票
0 回答
116 浏览

php - 是否有用于 PHP 的 PostgreSQL SQL 查询字符串解析器?

我需要在我的应用程序中转 PostgreSQL 查询字符串,例如:

进入“令牌符号结构”,就像 PHP 代码的 token_get_all() 一样,这样我就得到了类似于“符号”数组的东西(这只是一个例子,而不是一个确切的要求):

等等。你明白了。

我在网上搜索时一无所获。我见过的最接近的是 MySQL,但我什至没有访问该搜索结果,因为我没有使用仅适用于 MySQL 的东西。它必须与 PostgreSQL 的 SQL 风格一起工作。

0 投票
2 回答
3062 浏览

python-3.x - 如何在python3中使用SQL解析器解析任何SQL获取列名和表名

我能够通过使用 sql 解析来获取列名和表名,仅用于简单的选择 SQL。

有人可以帮助如何从任何复杂的 SQL 中获取列名和表名。

0 投票
0 回答
44 浏览

c++ - SQL WHERE 子句解析器 by boost qi

我想通过 boost qi 实现 SQL WHERE 子句解析器的一些规则。如果在https://jakewheat.github.io/sql-overview/sql-2016-foundation-grammar.html#_8_4_in_predicate上找到它的 BNF 。我通过一些特殊的操作数实现了特定的谓词规则。但是当我想将它与 OR/AND/NOT 逻辑运算符结合使用时,它不起作用。以下源代码测试用例和语法。

0 投票
1 回答
31 浏览

python - 删除绘画逻辑并仅保留列名的正则表达式

我有以下字符串,我想删除格式并只保留列名。有人可以为此建议正则表达式吗?

提前致谢

0 投票
2 回答
133 浏览

sql - 没有使用 SQL::Statement 正确解析 WHERE 子句中的 IN

我正在使用此处提供的示例的略微修改版本:https ://metacpan.org/pod/distribution/SQL-Statement/lib/SQL/Statement/Structure.pod

但是当我这样做时,我得到了这个没有意义的错误,因为它是一个非常常见的构造:

我错过了什么?

0 投票
2 回答
59 浏览

awk - 使用 Shell 脚本从文件中读取 SQL 语句块的更好方法是什么?

我有一个像下面这样的文件,里面有很多 SQL 语句。我想在需要时读取特定的 SQL 块。

我的文件.SQL

我正在使用以下命令

有人可以帮助解决这个问题吗?

0 投票
0 回答
466 浏览

apache-calcite - 自定义 Calcite 的 Sql 解析器

我正在尝试使用 Apache Calcite 的 SqlParser 来获取我用 Hive 和 Impala 编写的视图的实体级沿袭。但是,解析器会在以下情况下引发异常。

这是我的 SqlParser 配置。

是否有任何其他配置设置可用于自定义解析器以满足我的需要。所有这些查询在 Hive 中都是有效的。

0 投票
2 回答
1836 浏览

python - python SQL解析器获取列名和数据类型

我使用 python SQL 解析器来获取表信息。我能够获得表名和模式名。

但是,如果我想返回列名和数据类型,我可以使用哪个令牌来打印这两个 DDL。

输出是这样的,[不完全相同:)]

逐一打印列名和数据类型(可能在 for 循环中)

0 投票
1 回答
324 浏览

presto - 使用 Facebook Presto SQL Parser 生成 SQL 语句

我正在努力使用 Presto Parser 生成 SQL 语句。以下是用例详细信息-

  1. 解析使用外部前端 ui(nodejs 应用程序)生成的现有 SQL 语句。
  2. 追加新列和 where 子句条件。
  3. 重新生成 SQL 语句。这些 SQL 将在 Hive/Spark 上执行。

到目前为止,我使用Facebook Presto 解析器在步骤 1 和 2 上取得了成功,但无法弄清楚如何生成 SQL?

我应该使用其他库来生成 SQL 吗?这里的任何建议将不胜感激。