PostgreSQL COALESCE使用方法代码解析
作者:手撕高达的村长 发布时间:2024-01-28 19:55:01
标签: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.cnblogs.com/sunxun/p/4260023.html


猜你喜欢
- numpy的delete是可以删除数组的整行和整列的,下面简单介绍和举例说明delete函数用法:numpy.delete(arr, obj
- 前言序锦很多时候,当我们在使用编辑器的时候,遇到复制粘贴,修改别人代码等等的时候,都会遇到这个让人头疼的问题,那就是如何解决格式问题,今天就
- 本文实例讲述了js获取url传值的方法。分享给大家供大家参考,具体如下:js获取url参数值:index.htm?参数1=数值1&参
- 阅读Chapter 1 清单Chapter 2 标题总览:不但所有网页都需要有标题,而且如果标记正确的话,他们能为网页设计和易用性
- 说到排序,我想起一个故事,大意是说唐僧师徒西游美利坚,孙悟空买了本词典,开始逐条背诵单词。他们第一次下美国馆子的时候,不管服务员推荐什么,孙
- 0、背景shutil.move可以实现文件或者目录的移动。打印:import shutilhelp(shutil.move)# 打印如下:&
- OR、in和union all 查询效率到底哪个快?网上很多的声音都是说union all 快于 or、in,因为or、in会导致全表扫描,
- 本地一个长期更新的项目,git log突然报错:xxx@yyy:~/android/project/kernel/.git$ git log
- 1、官网说法在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。核心点有2个:DOM 更新和
- Python自动化测试-使用Pandas来高效处理测试数据一、思考1.Pandas是什么?功能极其强大的数据分析库可以高效地操作各种数据集c
- 前言;Python是一种非常具有表现力的语言,它提供了不同的结构来简化开发人员的工作。 该列表是python提供的最受欢迎的数据结构之一。
- 第一步:创建转向控制页面创建网站默认的首页文件(通常为"index.asp"或"default.asp&quo
- 简单了解多子图学习matplotlib的时候,有人肯定会觉得为啥不用Excel,为啥不用origin,为啥不直接使用软件,其实matplot
- 记得导入包,其他按键可类比def keyPressEvent(self, event): if event.key() == Q
- 1.概述ChatGPT是一款基于GPT-3.5架构的大型语言模型,它能够进行自然语言处理和生成对话等任务。作为一款智能化的聊天机器人,Cha
- 双向链表一种更复杂的链表是“双向链表”或“双面链表”。每个节
- 什么是作用域程序的执行,离不开作用域,也必须在作用域中才能将代码正确的执行。所以作用域到底是什么,通俗的说,可以这样理解:作用域就是定义变量
- 对于使用Django框架开发的系统,当部署时设置settings.py文件中Debug=False时xadmin后台管理系统样式会丢失。【问
- 0.环境需要1.准备Linux环境(系统:CentOS7)2.准备MySQL安装包(版本:8.0.20)3.安装方式为:msyql解压安装1
- 千图成像也就是用N张图片组成一张图片的效果。制作方法有很多的,最常见的如用ps、懒人图云、foto-mosaik-edda这些制作。千图成像