postgrepSQL使用汇总

1.Windows下安装Ora2Pg并从oracle中导出数据到postgresql

https://blog.csdn.net/pg_hgdb/article/details/79483743

1.1 下载安装perl并安装

1.2 在cmd下安装dmake  ppm install dmake

1.3 下载ora2pg并解压  下载地址 https://sourceforge.net/projects/ora2pg/

编译安装ora2pg

D:\highgo\ora2pg-18.2>perl Makefile.PL

1.4 D:\highgo\ora2pg-18.2>dmake && dmake install

1.5 安装oracle驱动

     1.5.1 C:\Perl64\cpan\sources\authors\id\P\PY\PYTHIAN\DBD-Oracle-1.74>cpan

     1.5.2 cpan> get DBD::Oracle

     1.5.3 cpan> install DBD::Oracle

1.6 示例:使用Ora2pg导出Scott用户下的表

配置Ora2pg配置文件:C:\ora2pg\ora2pg.conf

ORACLE_HOME D:\app\Administrator\product\11.2.0\dbhome_1

ORACLE_DSN  dbi:Oracle:host=127.0.0.1;sid=orcl

ORACLE_USER system     --导出使用的用户

ORACLE_PWD  oracle

SCHEMA            scott         --将要导出的用户

OUTPUT      C:\ora2pg\output.sql    --导出文件放置位置

1.7 执行导出

C:\Perl64\cpan\sources\authors\id\P\PY\PYTHIAN\DBD-Oracle-1.74>ora2pg -c C:\ora2pg\ora2pg.conf

2.pgAdmin3(postgrepsql可视化工具的使用)

2.1 新建服务器连接

2.2 新建服务器连接

3.如何设置PostgreSQL允许被远程访问

https://www.jianshu.com/p/140cb8c6a2c6

4.PostgreSQL和Oracle的SQL差异分析之五:函数的差异

https://yq.aliyun.com/articles/59422

5.如何解决 An error occured executing the Microsoft VC+runtime installer

https://blog.csdn.net/mangli/article/details/80623674

6.Failed to load sql modules into the database cluster during PostgreSQL Installation

需要以管理员身份运行

7.orecle 转换成postgrep 注意事项

1.sysdate修改为now()

2.trunc(时间) trunc(date) date_trunc()

trunc(sysdate)  ==    date_trunc('day',current_date)

trunc(sysdate)  ==    date_trunc('day',current_date)

 

 https://blog.csdn.net/liguangxianbin/article/details/80166574

3.nvl函数使用coalesce来代替

 

4.postgresql != 发现有个问题,!=-1没加空格会报错,只是负数会报错,这个我还没找到原因,只是查询会报错

 

5.有用到to_date用来作为时间比较的,如果有涉及到时分秒的比较要改成to_timestamp

 

6.说明下,如果数据库中的字段是bigint的话,后台传参要用int类型等数字类型,不能用string传值,不然会报错

 

7.如果字段类型是bigint后台sql查下不能用in()查下,会报类型错误,可以用多个or连接

 

8.语句中 count(*)函数 一般不能和排序连用

 

9.decode 需要改成case when

 

10. 时间差 计算函数 date_part(date_trunc修改成date_part)

 

11.时间加一天:UPDATE pm_milestone_sign_in  SET sign_in_time = (sign_in_time + interval '1 D') WHERE  1 = 1;

 

12.

1.postgresql数据库字段名是小写的,oracle数据库默认字段是大写,后台从oracle数据库中查出来的字段是大写的,postgresql为小写

2.举例“select id from V_RESOUSEINFO”查出的id在oracle中为大写,在postgresql中为小写,通过"select id as \"ID\"from V_RESOUSEINFO"可以转成大写,注意别名为双引号转义,不能是单引号

3.通过修改语句可以转成大写,但不一定要修改,如果你在取得数据后进行一层转换,就是获得map后再进行转换map.get(key)的方式转换就不要修改语句了,这边的key是不分大小写的(安利下,hashmap中的key是有区分大小写的,Spring JdbcTemplate 查询出的Map不区分大小写),但是如果直接将取得的数据传到前端,就要进行一层处理,原因第一点

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值