- 浏览: 576530 次
- 性别:
- 来自: 大连
-
文章分类
最新评论
-
sucheng2016:
最近也遇到同樣的問題, 我用的是com.fasterxml.j ...
Java的Timezone问题 -
netwelfare:
这里有篇《时间纪元与时区介绍》,讲解的不错,可以看看。
Java的Timezone问题 -
yjplxq:
...
Java -jar 选项与 -cp/-classpath -
phil09s:
问题是,为什么要设定成这样?
Java局部变量必须初始化 -
anttu:
...
db2 SQL: value(), values(), with, recursive SQL
comment:
-- comment should be on a separate line outside an SQL statement
select 1 from (values 1) as aa -- this is not a valid db2 comment
way to create simple tests against dynamic table:
select 'a' as col1,'b' as col2 from table (values 1) as dummy
or shorter:
select 'a','b' from (values 1) qq
In fact, for simple tests you don't even need select and a dummy table.
values ( 'mama', 1)
values (cast (2.5 as decimal(10,3)) * cast (2.5 as decimal(10,3)) )
using cast( ) and values( ), building null values on the fly:
select
'abc' as col1,
cast(null as varchar(80)) as col2
from
table (values (1,2),(3,4)) as dummy
Hint how to make running tests from the prompt easy:
I create 2 aliases:
alias vv='vi test.sql'
alias rr='db2 -tvf test.sql'
Type 'vv' to edit test.sql file (remember - you should end each SQL statement with a semicolon ';')
Then type 'rr' to run this SQL.
simple insert:
insert into inst1.test (A) values ('a'), ('b'), ('c')
using case:
select
case
when 1<2 then 'mama'
when 1>2 then 'papa'
end
as person
from table (values 1) as qq
concatenating:
select 'mama' concat ' papa' from table (values 1) as qq;
select 'mama' || ' papa' from table (values 1) as qq;
union, intersect & except:
select .. from T1 union T2 - remove duplicates
select .. from T1 union all T2 -- preserve duplicates
select .. from T1 intersect T2 - remove duplicates
select .. from T1 intersect all T2 -- contains min number of repetition
select .. from T1 except T2 - remove duplicates, then do except
select .. from T1 except all T2 do except, then remove duplicates
value( ) function:
-- value() function - accepts a variable number of parameteres and returns a
first non-null value
-- parameters should be of compatible types
-- the actual name for this function is coalesce() - means "to arise from a
combination of distinct elements"
select value(1,2) from (values 1) as aa
-- returns 1
select value(cast(null as int),2) from (values 1) as aa
-- returns 2
select value(cast(null as int),cast(null as int),3) from (values 1) as aa
-- returns 3
------------------------------------------------------------
2 ways (common table and inline table expression) to define table dynamically in the SQL statement:
with tree (id,pid) as (
values (1,2), (2,3), (3,4), (4, cast(null as int)), (5,3), (6,5)
)
select * from tree
ID PID
1 2
2 3
3 4
4 [NULL]
5 3
6 5
-------------------------------------------- another way to do the same
select * from (
values (1,2), (2,3), (3,4), (4, cast(null as int)), (5,3), (6,5)
)
as a
Getting root of the tree using recursive SQL:
with
tree (id,pid) as (
values (1,2), (2,3), (3,4), (4, cast(null as int)), (5,3), (6,5)
),
rr (id,pid) as (
select tr.id, tr.pid from tree tr where tr.id=1
union all
select tt.id,tt.pid from tree tt, rr
where tt.id = rr.pid
)
select id from rr where rr.pid is null
More recursive SQL:
We have table storing a tree (each row has id and parent_id).
To get root id for a given id (12345) we fill out temporary table rr:
first with given id and its parent_id. Then union with recursively calculated
id and parent_id as we go up the tree:
with rr (parent_id, id) as
(
select p.parent_id, p.id
from mytree p
where p.id = 12345
union all
select p.parent_id, p.id
from mytree p, rr
where p.id = rr.parent_id
)
select id ROOT from rr where parent_id is null;
Here is an example going in the oposite direction (down the tree). We showing the whole tree under a given id:
with rr (id, level) as
(
select id, 1
from mytree
where id = 10001
union all
select child.id, parent.level + 1
from mytree child, rr parent
where parent.id = child.parent_id
)
select * from rr;
Result:
ID LEVEL
----------------------------
10001 1
29361 2
23044 3
25162 3
25302 3
Here is how to combine 2 above queries together:
----------------------------------------------------------------------------
-- Given any node in any tree, this query will drill up to the top
-- level of the tree, and then query down to give all nodes that exist
-- within the tree (i.e. given any node_id, show the whole
-- tree that contains it).
--
-- Note: This query will never go deeper than 'stop_level' levels (10).
----------------------------------------------------------------------------
with rec_root (parent_id, child_id, sub_query, level, stop_level) as
(
select my_parent_id, my_id, 1, 0, 0
from mydb.mytable
where my_id = 25162
union all
select parent.my_parent_id, parent.my_id, 2, 1, child.level + 1
from mydb.mytable parent, rec_root child
where parent.my_id = child.parent_id
and sub_query in (1,2)
and child.stop_level < 10
union all
select my_parent_id, my_id, 3, parent3.level + 1, parent3.level + 1
from rec_root parent3, mydb.mytable child3
where parent3.child_id = child3.my_parent_id
and ( (parent3.sub_query = 2 and parent3.parent_id is null)
or parent3.sub_query = 3
)
and parent3.stop_level < 10
)
select * from rec_root
where parent_id is null
or sub_query = 3;
-- comment should be on a separate line outside an SQL statement
select 1 from (values 1) as aa -- this is not a valid db2 comment
way to create simple tests against dynamic table:
select 'a' as col1,'b' as col2 from table (values 1) as dummy
or shorter:
select 'a','b' from (values 1) qq
In fact, for simple tests you don't even need select and a dummy table.
values ( 'mama', 1)
values (cast (2.5 as decimal(10,3)) * cast (2.5 as decimal(10,3)) )
using cast( ) and values( ), building null values on the fly:
select
'abc' as col1,
cast(null as varchar(80)) as col2
from
table (values (1,2),(3,4)) as dummy
Hint how to make running tests from the prompt easy:
I create 2 aliases:
alias vv='vi test.sql'
alias rr='db2 -tvf test.sql'
Type 'vv' to edit test.sql file (remember - you should end each SQL statement with a semicolon ';')
Then type 'rr' to run this SQL.
simple insert:
insert into inst1.test (A) values ('a'), ('b'), ('c')
using case:
select
case
when 1<2 then 'mama'
when 1>2 then 'papa'
end
as person
from table (values 1) as qq
concatenating:
select 'mama' concat ' papa' from table (values 1) as qq;
select 'mama' || ' papa' from table (values 1) as qq;
union, intersect & except:
select .. from T1 union T2 - remove duplicates
select .. from T1 union all T2 -- preserve duplicates
select .. from T1 intersect T2 - remove duplicates
select .. from T1 intersect all T2 -- contains min number of repetition
select .. from T1 except T2 - remove duplicates, then do except
select .. from T1 except all T2 do except, then remove duplicates
value( ) function:
-- value() function - accepts a variable number of parameteres and returns a
first non-null value
-- parameters should be of compatible types
-- the actual name for this function is coalesce() - means "to arise from a
combination of distinct elements"
select value(1,2) from (values 1) as aa
-- returns 1
select value(cast(null as int),2) from (values 1) as aa
-- returns 2
select value(cast(null as int),cast(null as int),3) from (values 1) as aa
-- returns 3
------------------------------------------------------------
2 ways (common table and inline table expression) to define table dynamically in the SQL statement:
with tree (id,pid) as (
values (1,2), (2,3), (3,4), (4, cast(null as int)), (5,3), (6,5)
)
select * from tree
ID PID
1 2
2 3
3 4
4 [NULL]
5 3
6 5
-------------------------------------------- another way to do the same
select * from (
values (1,2), (2,3), (3,4), (4, cast(null as int)), (5,3), (6,5)
)
as a
Getting root of the tree using recursive SQL:
with
tree (id,pid) as (
values (1,2), (2,3), (3,4), (4, cast(null as int)), (5,3), (6,5)
),
rr (id,pid) as (
select tr.id, tr.pid from tree tr where tr.id=1
union all
select tt.id,tt.pid from tree tt, rr
where tt.id = rr.pid
)
select id from rr where rr.pid is null
More recursive SQL:
We have table storing a tree (each row has id and parent_id).
To get root id for a given id (12345) we fill out temporary table rr:
first with given id and its parent_id. Then union with recursively calculated
id and parent_id as we go up the tree:
with rr (parent_id, id) as
(
select p.parent_id, p.id
from mytree p
where p.id = 12345
union all
select p.parent_id, p.id
from mytree p, rr
where p.id = rr.parent_id
)
select id ROOT from rr where parent_id is null;
Here is an example going in the oposite direction (down the tree). We showing the whole tree under a given id:
with rr (id, level) as
(
select id, 1
from mytree
where id = 10001
union all
select child.id, parent.level + 1
from mytree child, rr parent
where parent.id = child.parent_id
)
select * from rr;
Result:
ID LEVEL
----------------------------
10001 1
29361 2
23044 3
25162 3
25302 3
Here is how to combine 2 above queries together:
----------------------------------------------------------------------------
-- Given any node in any tree, this query will drill up to the top
-- level of the tree, and then query down to give all nodes that exist
-- within the tree (i.e. given any node_id, show the whole
-- tree that contains it).
--
-- Note: This query will never go deeper than 'stop_level' levels (10).
----------------------------------------------------------------------------
with rec_root (parent_id, child_id, sub_query, level, stop_level) as
(
select my_parent_id, my_id, 1, 0, 0
from mydb.mytable
where my_id = 25162
union all
select parent.my_parent_id, parent.my_id, 2, 1, child.level + 1
from mydb.mytable parent, rec_root child
where parent.my_id = child.parent_id
and sub_query in (1,2)
and child.stop_level < 10
union all
select my_parent_id, my_id, 3, parent3.level + 1, parent3.level + 1
from rec_root parent3, mydb.mytable child3
where parent3.child_id = child3.my_parent_id
and ( (parent3.sub_query = 2 and parent3.parent_id is null)
or parent3.sub_query = 3
)
and parent3.stop_level < 10
)
select * from rec_root
where parent_id is null
or sub_query = 3;
发表评论
-
DB2 9.5 SQL Procedure Developer 认证考试 735 准备
2011-06-23 23:45 1286DB2 9.5 SQL Procedure Developer ... -
DB2利用syscat.references递归查出他的所有关联表
2011-06-22 23:50 2489找出所有的父表: With reftables(refta ... -
DB2 9 应用开发(733 考试)认证指南
2011-05-25 14:12 1211DB2 9 应用开发(733 考试)认证指南 DB2 9 应 ... -
DB2 9 数据库管理(731考试)认证指南
2011-05-25 13:28 1299DB2 9 数据库管理(731 考试)认证指南 DB2 9 ... -
DB2 9 基础(730 考试)认证指南
2011-05-22 23:58 1279DB2 9 基础(730 考试)认证指南 DB2 9 基础 ... -
DB2 的CHECK不检查NULL值
2011-05-18 22:36 1374Create table test.testchk( c ... -
DB2创建VIEW的时候CHECK OPTION的作用
2011-05-11 22:48 3685创建视图的时候有几种CHECK OPTION CHECK ... -
让DB2自动更新统计信息以及设定资源使用限制
2011-05-07 00:20 4467刚接触DB2的时候遇到一个统计表占用空间问题,因为数据是从sy ... -
DB2如何暂时关闭外键约束
2011-05-06 23:32 2872迁移数据的时候一定遇到过导入导出的外键约束报错问题,外键约束是 ... -
DB2 extents 怎么计算
2011-04-29 22:44 821Hi group, I am going through s ... -
联邦数据库的一个例子!
2010-11-15 23:28 1923转载自:http://bbs.51cto.com/thread ... -
DB2 数据库性能调优十条
2010-11-04 23:22 4977DB2性能调整的10个技巧 ... -
DB2 监控死锁 db2evmon
2010-10-15 22:41 1649db2evmon -db db_name -evm db2de ... -
DB2 SQL3089N 错误解决
2010-10-06 22:29 3028SQL3089N A non-D record was ... -
DB2查看刚刚执行的SQL
2010-09-08 23:03 3154有时候我们需要查看数据库中正在执行那些SQL,以解决一些问题, ... -
DB2 BLOB 字段读取 SQL0423N 错误
2010-09-08 13:40 1915出现这种问题的解决办法有两种: 1.在JDBC中获取数据库连接 ... -
大家帮忙做做实验:like的时候‘%’的位置和是否索引扫描的关系
2010-05-13 14:31 1241以前有个人问过我一个问题,在查询的时候百分号的位置跟是否进行索 ... -
DB2 命令执行参数(command options)
2010-05-01 22:58 4913进入的db2命令行处理器: db2cmd 命令的参数可以控制 ... -
Oracle文档大全
2010-04-30 10:36 1166http://www.oracle.com/technolog ... -
DB2 导出自定义分隔符的文件
2010-04-07 13:51 10510本来想在Excel中另存一下就搞定这个问题,可是找了半天没有找 ...
相关推荐
CREATE TRIGGER connect_audit_trg NO CASCADE BEFORE INSERT ON connect_audit REFERRING NEW AS n FOR EACH ROW MODE DB2SQL BEGIN ATOMIC SET n.timestamp = CURRENT_TIMESTAMP; END ``` - 注意点: 在DB2中,...
vue3 访问通义千问聊天代码例子
基于Python的Flask-vue基于Hadoop的智慧校园数据共享平台实现源码-演示视频 项目关键技术 开发工具:Pycharm 编程语言: python 数据库: MySQL5.7+ 后端技术:Flask 前端技术:HTML 关键技术:HTML、MYSQL、Python 数据库工具:Navicat、SQLyog
【实验1】:读取一次AI0通道数值 【实验2】:一次读取AI0通道多个数值 【实验3】:单次模拟量输出 【实验4】:连续模拟量输出(输出一个正弦曲线)
无人船的Smith-PID跟踪控制方法研究及实现:融合传统与最优PID策略的LOS曲线跟踪资料,基于无人船Smith-PID改进跟踪控制技术及其LOS曲线跟踪方法研究资料,基于无人船的smith-pid跟踪控制资料。 首先,针对pid进行了改进,有传统pid,最优pid和基于smith的pid三种控制方式。 然后还在smithpid基础上设计了LOS的曲线跟踪方法。 (有对应参考文献)。 有意者可直接联系,参考学习资料。 python语言。 ,基于无人船的Smith-PID跟踪控制; PID改进(传统PID、最优PID、基于Smith的PID); Smith-PID曲线跟踪方法; 参考学习资料; Python语言。,基于无人船的Smith-PID优化跟踪控制资料
自研船舶电力推进系统MATLAB仿真报告:从柴油机+同步发电机到异步电机直接转矩控制的全面模拟与实践,《船舶电力推进系统自搭MATLAB仿真报告:从柴油机同步发电机到异步电机直接转矩控制的完整过程与参数配置详解》,自己搭建的船舶电力推进系统(船舶电力推进自动控制)完全自搭MATLAB仿真,可适度,含对应27页正文的中文报告,稀缺资源,仿真包括船舶电站,变流系统和异步电机直接转矩控制,放心用吧。 三个文件逐层递进 柴油机+同步发电机(船舶电站) 柴油机+同步发电机+不控整流全桥逆变 柴油机+同步发电机+变流模块+异步电机直接转矩控制 所有参数都是配好的,最大负载参考变流系统所带负载两倍,再大柴油机和同步发电机参数就不匹配了,有能力可以自己调 ,核心关键词:船舶电力推进系统; MATLAB仿真; 船舶电站; 变流系统; 异步电机直接转矩控制; 柴油机; 同步发电机; 不控整流全桥逆变; 参数配比。,《船舶电力推进系统MATLAB仿真报告》
西门子博图WinCC V15自动化系统项目实战:多服务器客户端下的PID DCS闭环控制及参数调整实战指南,西门子博图WinCC V15自动化系统项目实战:多服务器客户端下的PID DCS闭环控制及参数调整实战指南,西门子博图WinCC V 15大型自动化系统项目,包含多台服务器客户端项目,系统采用安全1516F -3PN DP 外挂多台精智面板,1200PLC ET200SP 变频器 对整个工艺过程PID DCS 闭环过程控制,如何调整温度压力流量液位等参数,实用工程项目案例 ,西门子博图WinCC V 15; 大型自动化系统; 多台服务器客户端; 安全外挂; 精智面板; 1200PLC ET200SP; 变频器; PID DCS; 闭环过程控制; 温度压力流量液位调整; 工程项目案例,西门子博图WinCC V15大型项目:多服务器客户端的PID DCS闭环控制与实用参数调整
内容概要:本文详尽介绍了计算机网络相关资源及其各方面构成要素,首先阐述了硬件层面的各种传输媒介和设备如双绞线、同轴电缆、光纤以及台式电脑、笔记本、大型计算机等设备,还包括网络互联所需的各类组件如网卡、交换机、路由器等。其次探讨了多种操作系统的特性和主要功能,以及各类通讯和支持应用程序的概述,涵盖浏览器、图像和视频编辑等常用软件。再深入讨论了多种常见网络协议如TCP、UDP、HTTP等的功能特性。最后还提到了确保网络安全运行的重要措施和工具如MIB、SNMP以及防火墙、入侵检测系统等。并且简要提到计算机网络在不同的应用环境,从局域网到移动网络。 适合人群:所有对计算机网络技术感兴趣的初学者和希望深入了解各个组成成分的技术人员. 使用场景及目标:为用户提供计算机网络资源全面而系统的认识,帮助他们建立对于该领域的理论和技术的扎实认知基础,提高在实际环境中识别配置及维护计算机网络系统的能力.
海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
ABAQUS中隧道结构模型的无限元应用:超声激励源的施加方法、3D无限元吸收边界的添加技巧、模型结果精确性校核流程及教学视频与CAE、INP文件解析,ABAQUS隧道模型中3D无限元吸收边界的应用:超声激励源的施加与模型结果精确性校核的实践教程,ABAQUS无限元吸收边界,abaqus隧道无限元,1.超声激励源施加;2.3D无限元吸收边界添加方法;3.模型结果精确性校核;4.提供教学视频,cae、inp文件。 ,ABAQUS无限元吸收边界;ABAQUS隧道无限元;超声激励源施加;3D无限元吸收边界添加;模型结果精确性校核;CAE和INP文件。,ABAQUS中超声激励下无限元吸收边界设置及模型精度验证教程
海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
git自用lllllllllllllllllll
本资源与文章【Django小白项目】为一体,此为已成功项目,供给给Django初学者做参考,有不会的问题可以私信我噢~
使用一维数据表示向量和二维矩阵,支持常用运算。
1、以上文章可用于参考,请勿直接抄袭,学习、当作参考文献可以,主张借鉴学习 2、资源本身不含 对应项目代码,如需完整项目源码,请私信博主获取
基于多目标粒子群优化算法(MOPSO)的微电网多目标经济运行分析与优化策略考虑响应侧响应的协同调度策略,基于多目标粒子群优化算法(MOPSO)的微电网经济调度优化:含风光储荷一体化模型与需求侧响应策略,考虑需求侧响应的微电网多目标经济运行 建立了含风光储荷的微电网模型,以发电侧成本(包括风光储以及电网的购电成本)和负荷侧成本最小为目标,考虑功率平衡以及储能SOC约束,建立了多目标优化模型,通过分时电价引导负荷需求侧响应,得到可削减负荷量,同时求解模型,得到风光储以及电网的运行计划。 这段代码是一个使用多目标粒子群优化算法(MOPSO)解决问题的程序。下面我将对程序进行详细的分析和解释。 首先,程序的目标是通过优化算法来解决一个多目标优化问题。程序中使用的优化算法是多目标粒子群优化算法(MOPSO),该算法通过迭代更新粒子的位置和速度来搜索最优解。 程序的主要功能是对能源系统进行优化调度,包括光伏发电、风力发电、储能和电网供电。程序的目标是最小化能源系统的成本,并满足负荷需求。 程序的主要思路是使用粒子群优化算法来搜索最优解。程序中定义了一个粒子类(Particle),每个粒子代
data.gov.sg geojson部分项目整理
基于MATLAB Simulink的避障功能欠驱动无人船航迹跟踪控制仿真实验研究,基于MATLAB Simulink的欠驱动无人船避障功能路径跟踪控制仿真实验研究,包含避障功能的欠驱动无人船航迹(路径)跟踪控制仿真实验,基于MATLAB Simulink制作 ,避障功能; 欠驱动无人船; 航迹(路径)跟踪控制; MATLAB Simulink 仿真实验; 避障算法。,基于MATLAB Simulink的避障无人船航迹跟踪控制仿真实验
海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作