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;
原文地址:https://blog.csdn.net/m0_46478042/article/details/144294494
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!