• 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三剑客-awk
    Linux三剑客-sed
    大话算法-排序-冒泡排序
    大话算法-排序-选择排序
    删除Win10菜单中的幽灵菜单(ms-resource:AppName/Text )
    微信推送模板消息
    获取当前域名的根域
    MVC 全站开启缓存,缓解服务器的请求压力
    MVC 开启gzip压缩
  • 原文地址:https://www.cnblogs.com/yueguangshi/p/15013409.html
Copyright © 2020-2023  润新知