我有代码可以在第一个和最后一个之间的范围内创建记录。为此,我只需要指定第一条记录和最后一条记录。代码如下:
SELECT SUBSTR (:P5_FIRST_SEALS, 1, 1) ||
LPAD(TO_CHAR ( TO_NUMBER (REGEXP_SUBSTR (:P5_FIRST_SEALS, '\d+$')) + level - 1), 8,'0')
AS x_SEAL_NUMBER
FROM dual
CONNECT BY LEVEL <=
TO_NUMBER (
REGEXP_SUBSTR (:P5_LAST_SEALS, '\d+$'))
- TO_NUMBER (
REGEXP_SUBSTR (:P5_FIRST_SEALS, '\d+$'))
+ 1;
例如,我说第一个数字 A14602157 和最后一个 A14602167。 (10 个条目) 响应查询将是:
在我找到需要做的记录后,我在表中写了一个日志,其中指定了第一条记录、最后一条记录和日期。以下是我从日志表中获取数据的方法:
SELECT FIRST_SEALS, LAST_SEALS,DATE from SEC_TRANSFER_SEALS
是否可以以这样的方式进行此查询,即不仅出现范围的第一条和最后一条记录以及添加的记录数? 我希望第二个请求的答案是这样的:
SELECT FIRST_SEALS, LAST_SEALS,DATE , count(FIRST_SEALS between LAST_SEALS) from SEC_TRANSFER_SEALS
A14602157 , A14602167 , 07-06-21 , 10
答案 0 :(得分:0)
您的 Apex 页面上有所有信息(就是 Apex,对吗?),所以只需重复使用它:
SQL> select :P5_FIRST_SEALS as first_seals,
2 :P5_LAST_SEALS as last_seals,
3 trunc(sysdate) as datum,
4 :P5_LAST_SEALS - :P5_FIRST_SEALS + 1 as total_number
5 from dual;
FIRST_SEALS LAST_SEALS DATUM TOTAL_NUMBER
----------- ---------- ----------- ------------
1 10 07-jul-2021 10
SQL>