分页转换
mysql:
limit #start#,#limit# //从start+1开始显示,一共显示limit条
oracle:
select * from (
select ROWNUM as rownm,t.* from(
//数据库操作语句
)t where ROWNUM <= (#start# + #limit#)
)a where a.rownm > #start#
concat转换
mysql:
concat(“a”,“b”,“c”)
oracle:
conat(conact(“a”,“b”),“c”) //oracle concat只能连接两个字符
主键自增转换
mysql:
可直接设置实现
oracle:
create sequence tablename_seq increment by 1 start with 1 maxvalue 999999 ;
//做增加操作时,主键取tablename_seq的下一个值
insert into tablename values(tablename_seq.nextval,…);
数据格式转换
mysql:
字符串转日期:DATE_FORMAT(‘2011-09-20 08:30:45’, ‘%Y-%m-%d %H:%i:%S’)
日期转字符串:DATE_FORMAT(NOW(), ‘%Y-%m-%d %H:%i:%S’)
oracle:
字符串转日期:to_date(‘2011-09-20 08:30:45’, ‘yyyy-MM-dd hh24:mi:ss’)
日期转字符串:to_char(SYSDATE, ‘yyyy-MM-dd hh24:mi:ss’)
获得系统时间
mysql:
insert into tablename values(now());
oracle:
insert into tablename values(sysdate);
group by区别
mysql:
可以通过对某一列的分组,来展示其他列的数据,其他列默认展示第一条数据
oracle:
无法通过对某一列的分组来展示其他列的数据。
在使用group by 时,有一个规则需要遵守,即出现在select列表中的字段,如果没有在组函数中,那么必须出现在group by 子句中。
即oracle的group by,只能用于展示使用组函数后返回的汇总信息,而不能用于像mysql一样展示其他列信息。
如果想要展示其他列数据,可以再group by后面把想要展示的列全部列出来,进行全部分组展示。
使用了Oracle关键字作为列名或表名
表明或列名加双引号,并严格区分大小写。