मूल रूप से आप एक स्ट्रिंग को स्टोर करने का प्रयास कर रहे हैं जो टाइमस्टैम्प फ़ील्ड में दिनांक का प्रतिनिधित्व करता है। यदि आप प्रतिस्थापित करते हैं:
TO_CHAR(TS, 'DD-MON-YYYY HH AM')
द्वारा
TRUNC(TS, 'hh24')
इसे सभी 4 जगहों पर काम करना चाहिए।
INSERT INTO ENROLLMENTS (DATE,PARTNER_NAME,ENROLLMENTS)
SELECT TRUNC(TS, 'hh24') AS DATE, mrch_bnft_cd, COUNT(*)
FROM ENROLLMENTS
WHERE TS > trunc(sysdate-1/24, 'HH') + 5/24
AND TS < trunc(sysdate, 'HH') + 5/24
GROUP BY TRUNC(TS, 'hh24'), mrch
ORDER BY TRUNC(TS, 'hh24'), mrch_bnft