如何修改sqlnode的字符串表示?

z9ju0rcb  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(293)

我有个问题 insert into loan values('jay',21,6.2) 我将其解析为sqlnode(方解石解析器),然后使用 sqlnode.toString() 我把问题回复为 INSERT INTO "LOAN" VALUES ROW('jay',21,6.2) . 我想删除其中的row关键字我该怎么做?还有引号
我可以使用“”替换行关键字 string.replace() 但这不是个好办法。
我也读了一些关于sqldialect的东西,但没有找到任何有用的方法。我确实试过这个

Connection connection = new DialectTest().connect();
        PgDatabaseMetaData metaData = (PgDatabaseMetaData) connection.getMetaData();
        SqlDialect dialect = SqlDialectFactoryImpl.INSTANCE.create(metaData);

        String array = "insert into loan values('A101',30000.0,20000.0,4,'travelling',500000.0,18)";

        SqlParser parser = SqlParser.create(array);
        SqlNode rootNode=null;
        try {
             rootNode = parser.parseStmt();
        } catch (SqlParseException e) {
            e.printStackTrace();
        }
        System.out.println(rootNode.toSqlString(dialect).getSql());

结果是- INSERT INTO "LOAN" VALUES ROW('A101', 30000.0, 20000.0, 4, 'travelling', 500000.0, 18)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题