【发布时间】:2013-01-22 17:22:05
【问题描述】:
ANTLR4 有可用的 sql 语法吗?如果有,在哪里可以找到?
有一个来自 ANTLR wiki 的链接,但该链接已损坏:grammar list
【问题讨论】:
标签: antlr4
ANTLR4 有可用的 sql 语法吗?如果有,在哪里可以找到?
有一个来自 ANTLR wiki 的链接,但该链接已损坏:grammar list
【问题讨论】:
标签: antlr4
不,在撰写本文时,还没有 v4 SQL 语法。
所有 v4 语法将被放入以下 Github 存储库(据我所知,来自 ANTLR 邮件列表):https://github.com/antlr/grammars-v4
v3 语法现在在这里:http://antlr3.org/grammar/list.html
这里现在有一个用户贡献了 MySQL 语法:[dead link removed]
MySQL、T-SQL、PL/SQL 和 SQLite 语法都可以在这里找到:https://github.com/antlr/grammars-v4/tree/master/sql
【讨论】:
截至 2017 年 2 月 6 日,t-sql 有 ANTLR4 文件,但它是社区维护的,并不完整,我发现许多 SQL 语句对 SQLServer 有效但无法被此语法解析。
【讨论】:
正如其他用户所说,网上有可用的 SQL 语法,但并不完整。我建议最好的方法是使用不完整的语法,并在需要时添加其顶部不存在的语法。 例如,如果您需要翻译 join 子句并且该子句不存在,则只需将其添加到它的顶部即可。只要确保你写的语法不会破坏任何现有的语法
这就是我在实习中所做的,我必须制作一个将 SAS 脚本转换为 python 的工具。 SAS 是专有的,它的语法不可用。所以我们从头开始构建一切。
【讨论】: