java 中怎么把接收到的sql语句中的相指定字符串替换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 中怎么把接收到的sql语句中的相指定字符串替换相关的知识,希望对你有一定的参考价值。
接收到的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之前进行替换,请高手指教,谢谢!
Oracle的DAO实现类 来完成这些工作追问
我就是写了一个DAO的接口,每sql语句执行前都用这个接口替换语法的,sql也是转换成字符串的
就是不知道replaceAll(" ", " ");或者是正则表达式怎么写最准确
写了DAO之后 就直接换SQL了 还用这些代替干什么 ?? 你自己写ORACLE的SQL
追问项目里面全是按informix的语法写的,成千上万的sql,现在只是换一个oracle数据库,只有在访问数据库的时候替换啊
mssql中一个简单的模糊查询语句怎么写请教大侠们
使用SQL 通配符可以替代一个或多个字符,即模糊查询。
SQL 通配符必须与 LIKE 运算符一起使用。在 SQL 中,可使用以下通配符如下:
1、% 替代一个或多个字符
2、_ 仅替代一个字符
3、[charlist] 字符列中的任何单一字符
4、[^charlist]或者[!charlist] 不在字符列中的任何单一字符
以图中表格为例,说明一下各通配符用法
1、 查询居住在以 "Ne" 开始的城市里的人:
SELECT * FROM Persons WHERE City LIKE \'Ne%\'
2、查询居住在包含 "lond" 的城市里的人:
SELECT * FROM Persons WHERE City LIKE \'%lond%\'
3、查询名字的第一个字符之后是 "eorge" 的人:
SELECT * FROM Persons WHERE FirstName LIKE \'_eorge\'
4、查询记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er":
SELECT * FROM Persons WHERE LastName LIKE \'C_r_er\'
5、查询居住的城市以 "A" 或 "L" 或 "N" 开头的人:
SELECT * FROM Persons WHERE City LIKE \'[ALN]%\'
6、查询居住的城市不以 "A" 或 "L" 或 "N" 开头的人:
SELECT * FROM Persons WHERE City LIKE \'[!ALN]%\'
参考技术A select * from 表名 where 字段名 like '%参数%' 参考技术B 模糊查询 只能通过 like以上是关于java 中怎么把接收到的sql语句中的相指定字符串替换的主要内容,如果未能解决你的问题,请参考以下文章