2505JKJ 2017-07-05 07:12 采纳率: 66.7%
浏览 1341
已采纳

java中解析传过来的sql

java后端接口中怎么解析取到传过来的sql语句groupby后面跟的字段,求代码 各位大神谢谢啦

  • 写回答

6条回答 默认 最新

  • 张大教主 2017-07-05 10:27
    关注
    我理解你想知道group by后面跟了哪些字段,假设 sql语句为 :
    String sql="select a,b,c,sum(e) from tb group by a,b,c",
    那么如果你想获取 group by 后面的 a,b,c三个字段你可以这么做
    String[] subSql=sql.split("group by");//将sql字符串分隔成两段,
    第一部分subSql[0] 为group by前的部分("select a,b,c,sum(e) from tb")
    第二部分subSql[1]  则为group by 之后的部分("a,b,c")
    if(subSql.Length>1){
    String [] gpfields=gpfieldsStr.split(",");//获取第二部分,并将第二部分 即 "a,b,c"按逗号分隔开
    // 最终gpfields即获取到了group by 字段数组["a","b"."c"],挨个遍历就可以取出
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥20 jupyter保存图像功能的实现
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符