zoukankan      html  css  js  c++  java
  • postgreSQL相关知识点纪要

    PostgreSQL:世界上最先进的开源关系数据库

    一 postgreSQL与Oracle 语法对比差异

    orcale切换pg相关问题和建议
    1 类型转换错误,vo字段类型没有对应的数据库字段类型。如:数据库是number,入参传varchar,oracle语法可以支持,pg需要强制转换,cast(#{item.id, jdbcType= VARCHAR} AS NUMBER)
    2 pg中 trunc函数(截断日期或者数字)不能作用于时间,要使用date_trunc
    3 pg语法支持declare,但是需要在前面加上DO$$,参数中的value也要从#{xxx}改为${xxx},会带来SQL注入风险。建议不要在pg中声明变量,改为入参传递。
    4 to_char字符串转换,在pg中要改为cast转换。
    5 分页标识,pg中要使用limit offset,不能使用rownum。如: limit #{1. pagesize} offset #{1. startindex}-1
    6 oracle中的 start with connect by 语法,pg改为with recursive语法
    7 pg不支持decode语法,使用case when来代替
    8 pg中删除,insert,updata不能给表加别名
    9 Oracle中查一条数据 rownum=1,pg中 limit 1
    10 Oracle中获取时间sysdate,pg中用now(),或者CURRENT_TIMESTAMP, CLOCK_TIMESTAMP,建议now()性能好
    11 nvl函数pg中不支持,使用coalesce
    12 pg中多表联查,如果关联字段的类型不一致,回导致sql优化,索引等失效,需要cast或者:: 转换类型
    13 pg中的numberic类型,会默认自动增加小数点后6位,当使用这个返回值给string类型赋值时,interger. valueof("32.000000")导致类型转换异常。

  • 相关阅读:
    linux的mount(挂载)NFS 共享,命令详解
    Ubuntu 14.04下NFS安装配置
    linux下实现ftp匿名用户的上传和下载文件功能
    ubuntu apache2配置详解(含虚拟主机配置方法)
    在Ubuntu Server下搭建LAMP环境
    RPM 命令
    阿里云主机ssh 免密码登录
    PHPMailer使用说明
    git的一些基础命令
    穿线
  • 原文地址:https://www.cnblogs.com/yueguangshi/p/15013409.html
Copyright © 2011-2022 走看看