首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在-上处理“[] JSqlParser”字符

如何在-上处理“[] JSqlParser”字符
EN

Stack Overflow用户
提问于 2019-12-02 08:28:11
回答 1查看 925关注 0票数 1

我使用的是JSqlParser 3.0,我的查询是SELECT * from [dev-testdb].dbo.EMPLOYEES。我试图删除[]字符,因为这些字符不支持JSqlParser 3.0版本。我想1.x可以,但我必须使用3.0。

去掉括号后,我的查询看起来像SELECT * from dev-testdb.dbo.EMPLOYEES。我正在调试我的项目,并在下面的命令中

final Statement statement = CCJSqlParserUtil.parse(sql);我捕捉到了这个异常

代码语言:javascript
复制
net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "-" "-"
    at line 1, column 18.

当我使用JSqlParser进行解析时,如何修复这3个字符?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-02 10:04:39

这不是JSqlParser的问题,而是的问题。:)

在默认情况下,brackets被关闭,以支持所有类型的数组语法,在大多数情况下,这种语法也使用方括号。这一变化是在JSqlParser 3.0中引入的。

数组解析是默认行为。必须使用解析器标志(CCJSqlParser.withSquareBracketQuotation).启用方括号引号。

下面是讨论:https://github.com/JSQLParser/JSqlParser/issues/677

若要再次激活此括号引号,请使用以下内容:

代码语言:javascript
复制
CCJSqlParserUtil.parse("select * from [mytable]", parser -> parser.withSquareBracketQuotation(true));

lambda表达式用于以某种方式修改已使用的解析器配置。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59135053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档