互联网技术 · 2024年2月26日

PostgreSQL COALESCE函数的使用方法及代码解析

这篇文章主要介绍了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的数值,上面的语句得到

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

文章来源:脚本之家

来源地址:https://www.jb51.net/article/201993.htm

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.