PostgreSQL COALESCE使用方法代码解析

 更新时间:2020年12月11日 15:45:00   作者:手撕高达的村长  
这篇文章主要介绍了PostgreSQL COALESCE使用方法代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

有这种要求,更新自己本身的字段的某个值进行加或者减

常规方法:

UPDATE
  tbl_kintai_print_his
SET
  print_time = now(),
  print_emp_cd = '000000',
  times = (select times from tbl_kintai_print_his where  kokyaku_cd  = '000002' AND
  sagyo_ymd  = '2015-01-30' )
+ 1,
  pattern = '055' ,
  ko_item_1 = 'no.0' ,
  ko_item_2 = 'no.2' ,
  ko_item_3 = 'no.3' ,
  ko_item_4 = 'no.4' ,
  ko_item_5 = 'no.5'
WHERE
  kokyaku_cd  = '000002' AND
  sagyo_ymd  = '2015-01-30'

能实现,不过效率肯定不高,要进行查询两次

pgsql里面提供一个函数能完成这个操作:

UPDATE
  tbl_kintai_print_his
SET
  print_time = now(),
  print_emp_cd = '000000',
  times = COALESCE (SUM(times),0)+ 1,
  pattern = '055' ,
  ko_item_1 = 'no.0' ,
  ko_item_2 = 'no.2' ,
  ko_item_3 = 'no.3' ,
  ko_item_4 = 'no.4' ,
  ko_item_5 = 'no.5'
WHERE
  kokyaku_cd  = '000002' AND
  sagyo_ymd  = '2015-01-30'

能直接取到上一次的结果进行添加

二:还有一种用法就是在几个字段中取值,从前往后,一直取到不为NULL的值为止。

select id , name ,coalesce(Ph_no,Alt_no,Office_no) as contact number from employee

我们可以通过这样的语句,来得到Ph_no,Alt_no,Office_no这几个字段中,第一个不存在null的数值,上面的语句得到

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • postgresql json取值慢的原因分析

    postgresql json取值慢的原因分析

    这篇文章主要介绍了postgresql json取值为何这么慢,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • postgresql 中position函数的性能详解

    postgresql 中position函数的性能详解

    这篇文章主要介绍了postgresql 中position函数的性能详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • PostgreSQL数据库事务实现方法分析

    PostgreSQL数据库事务实现方法分析

    这篇文章主要介绍了PostgreSQL数据库事务实现方法,简单讲述了事务的概念、功能,并结合实例形式分析了PostgreSQL数据库事务的定义方法及相关注意事项,需要的朋友可以参考下
    2018-08-08
  • PostgreSQL教程(二):模式Schema详解

    PostgreSQL教程(二):模式Schema详解

    这篇文章主要介绍了PostgreSQL教程(二):模式Schema详解,本文讲解了创建模式、public模式、权限、删除模式、模式搜索路径等内容,需要的朋友可以参考下
    2015-05-05
  • 在postgresql数据库中创建只读用户的操作

    在postgresql数据库中创建只读用户的操作

    这篇文章主要介绍了在postgresql数据库中创建只读用户的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • 基于PostgreSql 别名区分大小写的问题

    基于PostgreSql 别名区分大小写的问题

    这篇文章主要介绍了基于PostgreSql 别名区分大小写的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • PostgreSQL中的template0和template1库使用实战

    PostgreSQL中的template0和template1库使用实战

    这篇文章主要介绍了PostgreSQL中的template0和template1库使用实战,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • PostgreSQL基于Citus实现分布式集群的全过程

    PostgreSQL基于Citus实现分布式集群的全过程

    Citus是一个PostgreSQL扩展,它将Postgres转换为分布式数据库,因此您可以在任何规模上实现高性能,因客户的需求,本文详细阐述了PostgreSQL基于Citus实现的分布式集群的全过程,需要的朋友可以参考下
    2023-11-11
  • postgresql数据库表ID自增的实现代码

    postgresql数据库表ID自增的实现代码

    postgresql数据库可以创建主键,但是没有像mysql那样直接指定主键自增的auto_increment关键字,因此如果在postgresql中创建表指定主键自增使用auto_increment会报错,本文通过一个实例给大家演示自增ID的实现,需要的朋友可以参考下
    2023-12-12
  • PostgreSQL 修改表字段常用命令操作

    PostgreSQL 修改表字段常用命令操作

    这篇文章主要介绍了PostgreSQL 修改表字段常用命令操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12

最新评论