执行以下操作的等效Oracle(11g)代码是什么:
对于MySQL
ps = con.prepareStatement("select SQL_CALC_FOUND_ROWS from student_details where UPPER(name) like UPPER(?) limit " + offset + ", " + noOfRecords);
和rs = ps.executeQuery("SELECT FOUND_ROWS()");
答案 0 :(得分:1)
试试这样:
SELECT *
FROM (select t.*, rownum rn, count(*) over() as SQL_CALC_FOUND_ROWS
from student_details t
where UPPER(name) like UPPER(?))
WHERE rn <= offset
“SQL_CALC_FOUND_ROWS”中返回的值将是在没有WHERE rn <= offset
子句的情况下选择的记录数
答案 1 :(得分:0)
我在语句中看到的仅有两个特定于RDBMS的东西是“upper()”和“limit”。
以下是使用Oracle“rownum”作为“限制”解决方法的链接:
“Upper()”应该在Oracle中正常工作。