我希望创建一个JCL流,它将执行以下操作:
第1步:运行一个instream DB2
Param1 = SELECT TRUNC_TIMESTAMP(CURRENT TIMESTAMP,'MONTH')
FROM SYSIBM.SYSDUMMY1;`
第2步:
Param2 = SELECT TRUNC_TIMESTAMP(CURRENT TIMESTAMP + 1 month,'MONTH')- 1 MICROSECOND)
FROM SYSIBM.SYSDUMMY1;
第3步:
SELECT COUNT(*)
FROM HLVQUAL.TABLE_NAME
WHERE CREATE_TS between Param1 AND Param2
我将非常感谢您解决我的问题的任何示例,操作方法和其他有用的评论。
答案 0 :(得分:3)
如何使用单步:
SELECT COUNT(*)
FROM HLVQUAL.TABLE_NAME
WHERE CREATE_TS BETWEEN
TRUNC_TIMESTAMP(CURRENT TIMESTAMP, 'MONTH') AND
TRUNC_TIMESTAMP(CURRENT TIMESTAMP + 1 MONTH, 'MONTH') - 1 MICROSECOND
答案 1 :(得分:1)
您是否尝试过单一声明?
WITH T (TS1, TS2) AS (
SELECT
TRUNC_TIMESTAMP(CURRENT TIMESTAMP,'MONTH'),
TRUNC_TIMESTAMP(CURRENT TIMESTAMP + 1 month,'MONTH')- 1 MICROSECOND
FROM SYSIBM.SYSDUMMY1
)
SELECT COUNT(*)
FROM HLVQUAL.TABLE_NAME, T
WHERE CREATE_TS between T.TS1 AND T.TS2
答案 2 :(得分:0)
有批处理执行SQL的实用程序,DSNTEP4和Syncsort是两个例子。将步骤1的结果路由到平面文件。对步骤2执行相同的操作。
为您喜欢的重新格式化实用程序(IEBGENER,SORT等)编写一些控制语句,以便将前两个步骤中的每个步骤生成的时间戳记放入文件中。
将步骤3的SQL的静态部分与生成的时间戳文件连接起来。