當前位置:首頁 >  站長 >  編程技術 >  正文

PostgreSQL COALESCE使用方法代碼解析

 2020-12-25 16:50  來源: 腳本之家   我來投稿 撤稿糾錯

  阿里云優(yōu)惠券 先領券再下單

這篇文章主要介紹了PostgreSQL COALESCE使用方法代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

有這種要求,更新自己本身的字段的某個值進行加或者減

常規(guī)方法:

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'

能實現(xiàn),不過效率肯定不高,要進行查詢兩次

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 yy@haotui.cn 举报,一经查实,本站将立刻删除。

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

相關文章

創(chuàng)業(yè)項目推薦

    熱門排行

    信息推薦