关于db2中listagg函数开发中的体验
一.首先解释一下可能会查询的基础问题:
1.1db2 “with ur”是什么意思:
在DB2中,共有四种隔离级:RS,RR,CS,UR.以下对四种隔离级进行一些描述,同时附上个人做试验的结果。隔离级是影响加锁策略的重要环节,它直接影响加锁的范围及锁的持续时间。两个应用程序即使执行的相同的操作,也可能由于选择的隔离级的不同而造成加锁的结果不同。
1.2查看连接db2数据库的版本:
命令查看: 用db2level 查看
1.3在db2中会有''字符串和null的区分
1.4声明一下这个开发时基于https://www.csdn.net/gather_2d/MtTaAg5sODY1My1ibG9n.html这个网页里的数据的
WITH
emp(deptno,job,telephone) AS(
SELECT * FROM (
VALUES (10,'persident','apple'),(30,'manager','orange'),(10,'persident','orange'),(20,'anayst','apple'),(30,'clerk','apple'),(20,'manager','orange')
,(20,'clerk','apple'),(10,'manager',null),(30,'sakesman','apple'),(10,'manager',''))
)
,fld(deptno,job,telephone) AS (
SELECT
deptno,
decode(row_number() over(PARTITION BY deptno,job),1,job) job,
decode(row_number() over(PARTITION BY deptno,telephone),1,telephone) telephone
FROM emp
)
SELECT
deptno,
listagg(job,',') within GROUP (ORDER BY job DESC ) jobs,
listagg(telephone,',') within GROUP (ORDER BY telephone) telephones
FROM fld
GROUP BY dep



整个过程我们可以看到''字符串是作为一个字符来传递的,而null值则是被过滤掉了。由于db2服务器版本过低,所以不能使用distinct进行拼接的过滤,只能使用11版本以前的函数进行开发测试,后续继续补充
关于db2中listagg函数开发中的体验的更多相关文章
- java基础课程笔记 static 主函数 静态工具类 classpath java文档注释 静态代码块 对象初始化过程 设计模式 继承 子父类中的函数 继承中的构造函数 对象转型 多态 封装 抽象类 final 接口 包 jar包
Static那些事儿 Static关键字 被static修饰的变量成为静态变量(类变量) 作用:是一个修饰符,用于修饰成员(成员变量,成员方法) 1.被static修饰后的成员变量只有一份 2.当成员 ...
- iOS --- [持续更新中] iOS移动开发中的优质资源
在我们做iOS APP的开发过程中, 须要非常多设计, 产品, 技术, 运营等方面的技巧和资源. 现将其整理汇总, 本文会一直持续更新. 敬请关注. 设计 Dribbble Dribbble是一个面向 ...
- TCP连接中time_wait在开发中的影响-搜人以鱼不如授之以渔
根据TCP协议定义的3次握手断开连接规定,发起socket主动关闭的一方socket将进入TIME_WAIT状态,TIME_WAIT状态将持续2个MSL(Max Segment Lifetime),T ...
- 关于numpy中的函数return中加入字符串类型数据后,小数点精度变化
weekdays.pyimport numpy as npfrom datetime import datetimedef datestr2num(s): return datetime.strpti ...
- Spring 5 中函数式web开发中的swagger文档
Spring 5 中一个非常重要的更新就是增加了响应式web开发WebFlux,并且推荐使用函数式风格(RouterFunction和 HandlerFunction)来开发WebFlux.对于之前主 ...
- [Python]Python Class 中的 函数定义中的 self
In [80]: class MyClass001: ....: def selfDemo(self): ....: print 'My Demo' ....: In [81]: p = MyClas ...
- shell中的函数 shell中的数组 告警系统需求分析
- React在开发中的常用结构以及功能详解
一.React什么算法,什么虚拟DOM,什么核心内容网上一大堆,请自行google. 但是能把算法说清楚,虚拟DOM说清楚的聊聊无几.对开发又没卵用,还不如来点干货看看咋用. 二.结构如下: impo ...
- 在MySQL的InnoDB存储引擎中count(*)函数的优化
写这篇文章之前已经看过了很多数据库方面的优化内容,大部分都是加索引.使用事务.要什么select什么等等.然而,只是停留在阅读的层面上,很少有实践,因为没有遇到真实的项目,一切都是纸上谈兵.实践是检验 ...
随机推荐
- LSTM-航班人数预测
小书匠深度学习LSTM 郑重声明,文章大部分翻译自: Time Series Prediction with LSTM Recurrent Neural Networks in Python with ...
- ie 使用window.open页面报错
window.open(url)打开新页面是如果要通过地址栏来传参要注意 var qt = ""; qt += "&teachMaterialDealInfo.b ...
- Python 学习随笔 - 2 - list 、tuple 、dict、set 特殊数据类型 及 实际应用
1.list list是一种有序的集合,可以随时添加和删除其中的元素; 和C语言不同的地方是list里的元素甚至可以是不同类型的,甚至是另个list 例如:['A', 'B', 'C'] ['A ...
- php发现一个神奇的函数
echo strtr('aaddffvvbbcc','avc','242'); //22ddff44bb22 echo '<br>'; echo str_replace('ad',22,' ...
- Django 测试开发5 unittest测试用例
Django测试用例 Django默认Python的标准库unittest编写测试用例.Django的单元测试类django.test.TestCase 从unittest.TestCase继承而来. ...
- Windows008 snmp
- PHP使用MongoDB存储经纬度,查询距离
https://blog.csdn.net/qq_40012295/article/details/84861466 https://docs.mongodb.com/manual/reference ...
- Android:状态栏禁用时蓝牙多文件传输弹窗及进度显示
一.蓝牙文件传输弹窗 Android原生蓝牙传输文件时,会弹出蓝牙文件接收的确认框且默认是以notification的形式显示在状态栏,当用户点击之后才会弹出一个dialog.那么当状态栏被禁用时,如 ...
- python之socket编程(一)
socket之前我们先来熟悉回忆几个知识点. OSI七层模型 OSI(Open System Interconnection)参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标 ...
- C# 3DES加密解密,差点要了命
最近 一个项目.net 数据采用3DES加密.下面分享一下,这里的KEY采用Base64编码,便用分发,c#的Byte范围是0-255核心是确定Mode和Padding,关于这两个的意思可以搜索3DE ...