Если значения в "DATE"
и "FILE"
колоннах будут иметь те же времена, то вы можете использовать:
SELECT "DATE" - TO_DATE(REGEXP_SUBSTR("FILE", '\d{14}', 1, 1), 'YYYYMMDDHH24MISS') AS "INTERVAL"
COUNT(1) AS "COUNT"
FROM TABLE_NAME
GROUP BY "DATE" - TO_DATE(REGEXP_SUBSTR("FILE", '\d{14}', 1, 1), 'YYYYMMDDHH24MISS');
Если они будут иметь разные времена, то оберните выражения "INTERVAL"
и GROUP BY
в функции CEIL()
(или FLOOR()
) - поочередно вы можете TRUNC()
даты перед вычитанием; например:
SELECT TRUNC("DATE") - TRUNC(TO_DATE(REGEXP_SUBSTR("FILE", '\d{14}', 1, 1), 'YYYYMMDDHH24MISS')) AS "INTERVAL"
COUNT(1) AS "COUNT"
FROM TABLE_NAME
GROUP BY TRUNC("DATE") - TRUNC(TO_DATE(REGEXP_SUBSTR("FILE", '\d{14}', 1, 1), 'YYYYMMDDHH24MISS'));
что это за счет? Вы имеете в виду для заданной даты, сколько нет общего количества файлов: 3 файла есть для даты 5 на примере выше –
Count - это строка. У меня есть 3 строки (date - filedate) = 5 дней. – phe
У меня не было; можете ли вы подробнее рассказать об этом, например, ссылаясь на данные выше. –