java 中怎么把接收到的sql语句中的相指定字符串替换 30
接收到的sql:selectto_char(date(rq)-1,'%Y%m%d')rq,bmbh,bmmc,sum(nvl(ck_dwhq,0))/(date('201...
接收到的sql:select to_char(date(rq)-1,'%Y%m%d') rq,bmbh,bmmc,sum(nvl(ck_dwhq,0))/(date('20140630')-date('20140101')+1) ck_dwhq from bmhbkhzbb where (rq between '20140101' and '20140630') and hbzl='00' group by rq,bmbh,bmmc
要求替换为:select to_char(to_date(rq,'yyyymmdd')-1,'yyyymmdd') rq,bmbh,bmmc,sum(nvl(ck_dwhq,0))/(to_date('20140630','yyyymmdd')-to_date('20140101','yyyymmdd')+1) ck_dwhq from bmhbkhzbb where (rq between '20140101' and '20140630') and hbzl='00' group by rq,bmbh,bmmc
我现在是把一个Informix项目转换为一个oracle项目,接收到的语法是informix的,我要换成oracle的,我现在写了一个接口,在执行sql之前进行替换,请高手指教,谢谢! 展开
要求替换为:select to_char(to_date(rq,'yyyymmdd')-1,'yyyymmdd') rq,bmbh,bmmc,sum(nvl(ck_dwhq,0))/(to_date('20140630','yyyymmdd')-to_date('20140101','yyyymmdd')+1) ck_dwhq from bmhbkhzbb where (rq between '20140101' and '20140630') and hbzl='00' group by rq,bmbh,bmmc
我现在是把一个Informix项目转换为一个oracle项目,接收到的语法是informix的,我要换成oracle的,我现在写了一个接口,在执行sql之前进行替换,请高手指教,谢谢! 展开
2014-11-27
展开全部
可以把接受到的sql转成String类型,然后用replaceAll("原字符","替换后的字符");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个工作量很大的.. . 要分析informix和oracle的语法的不同 .. 还不如换掉 DAO的接口算了啊...
Oracle的DAO实现类 来完成这些工作
Oracle的DAO实现类 来完成这些工作
更多追问追答
追问
我就是写了一个DAO的接口,每sql语句执行前都用这个接口替换语法的,sql也是转换成字符串的
就是不知道replaceAll(" ", " ");或者是正则表达式怎么写最准确
追答
写了DAO之后 就直接换SQL了 还用这些代替干什么 ?? 你自己写ORACLE的SQL
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询