gpt4 book ai didi

java - 如何在 JSqlParser 上处理 '[ ] -' 字符

转载 作者:行者123 更新时间:2023-11-30 01:43:20 28 4
gpt4 key购买 nike

我正在使用 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);我发现了这个异常

net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "-" "-"
at line 1, column 18.

使用 JSqlParser 解析时如何修复这 3 个字符?

最佳答案

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

Bracketquotation 默认关闭,以支持各种数组语法,在大多数情况下也使用方括号。此更改是在 JSqlParser 3.0 中引入的。

The array parsing is the default behaviour. Square bracket quotation has to be enabled using a parser flag (CCJSqlParser.withSquareBracketQuotation).

这里是讨论:https://github.com/JSQLParser/JSqlParser/issues/677 .

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

CCJSqlParserUtil.parse("select * from [mytable]", parser -> parser.withSquareBracketQuotation(true));

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

关于java - 如何在 JSqlParser 上处理 '[ ] -' 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59135053/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com