POSTGRESQL跟ORACLE语法区别和相同之处

跟ORACLE语法区别之处

1. Update和delete语法区别

Pg 和MySQL Update和delete的时候表名不能加别名

2. 插入数字类型不一样

ORACLE 对number类型的数据可以用’’ 字符串标记插入,但是PG不行,必须要进行正确的数据类型

3. SEQ使用不同

ORACEL的SEQ 是 SELECT SEQ,NEXT_VAL FROM DUAL

PG 使用方法select nextval('SEQ_NAME')

4. 时间格式化不一样

用于日期/时间格式化的模式:

5. 翻页查询不一样

oracle用rownum控制,pg用limit控制

6. 差集不一样

oracle用minus,pg用EXCEPT

7. 时间函数不一样

获取通用时间SELECT CURRENT_TIMESTAMP,oracle一般用sysdate,PG 还有current_date(),current_time();

8. 条件判断不一样

PG没有decode判断,需要用case when then 代替

9.判断字符串为空

10.查询字符串INSTR不一样

11.执行存过不一样

Pg存过执行都是CALL XXX();

即便在存储内部调用存过都是call xxx();必须要写call

Oracle 可以用begin xxx();end;调用

也可以用{call xxx(); }

在存过内部调用存过不需要写call ,直接写函数名称

跟ORACLE语法相同之处

都有SEQUENCE 获取自增值

字符串连接都用||

存过的赋值都是 := 判断都是=

都可以指定动态查询,比如存过中使用动态SQL

--PostgreSql

execute 'select count(1) from test' into v_count;

--Oracle

execute immediate 'select count(1) from test' into v_count;

--PostgreSql

open cur forexecute'select* from xxx';

loop

end loop;

close cur;

时间运算都可以用+1 或者-1 都是1天

比如 10天前 current_timstamp -10;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值