1、
(1)Oracle有rownum伪列,用来表示数据在结果集中的行数;
select rownum,id,name from (select * from student order by name);
rownum id name
1 3 李三
2 2 王二
3 1 张一
4 4 李四
(2)postgresql没有rownum,用limit和offset两个关键字实现类似的功能。limit取得记录的条数,而offset表示从第几条开始取数据(按照索引值取,从0开始)。
select * from student limit 1 offset 2;
id name
1 张一
2、可变长度字符串
(1)Oracle:varchar2();
(2)postgresql:varchar()。
3、更改表字段数据类型
(1)Oracle:alter table 表名 modify 字段名 新的数据类型;
(2)postgresql:alter table 表名 alter column 字段名 type 新的数据类型。
4、
(1)Oracle不支持boolean类型,用0和1代替;
(2)postgresql支持boolean类型,用True和False。
5、
(1)Oracle有虚表dual;
(2)postgresql无虚表。
6、查看系统当前日期时间:
(1)Oracle:select sysdate from dual;
(2)postgresql:select now(); 或者select current_timestamp();
7、拼接字符:
(1)oracle:select 字段1||字段2 from 表名;
(2)postgresql:select concat(字段1,字段2) from 表名;