I'm running this query to view data between two dates as shown in the code below, but I only get data of the current date (if dates are consecutive) or a day before if there's an interval of dates.
I mean:
if interval (16/05/18 - 17/05/18) only return data of 16/05/18.
if interval is (16/05/18 - 18/05/18) only returns data of interval (16/05/18 - 17/05/18)
Code:
SELECT
C.SESSIONID,
SUBSTR(C.ORIGINATINGNUMBER, INSTR(C.ORIGINATINGNUMBER, ':') + 1,
INSTR(C.ORIGINATINGNUMBER, '@') - INSTR(C.ORIGINATINGNUMBER, ':') - 1) AS Origen,
TO_CHAR(C.CALLTIMESTAMP, 'DD/MM/YYYY') AS Fecha,
TO_CHAR(C.CALLTIMESTAMP,'HH:MI') AS Hora,
C.DURATION AS Duracion_IVR,
(CASE C.ENDTYPE
WHEN 1
THEN 'IVR'
WHEN 2
THEN 'Transferida'
ELSE 'Colgada'
END) AS Estado,
A.SERVICIO,
A.OPT,
A.CONTRATO_ENVIADO,
A.RPTA_WS_C,
A.RPTA_WS_L,
A.DESCRIPTIVO
FROM
CDR C
JOIN
(SELECT DISTINCT(D.SESSIONID) AS ID,
NVL(
(SELECT B.MESSAGE
FROM VPAPPLOG B
WHERE D.SESSIONID = B.SESSIONID
AND B.ACTIVITYNAME = 'CAMP'
),' ') AS SERVICIO,
NVL(
(SELECT B.ACTIVITYNAME
FROM VPAPPLOG B
WHERE D.SESSIONID = B.SESSIONID
AND B.MESSAGE = 'OPC_MENU'
),' ') AS OPT,
NVL(
(SELECT B.VARVALUE
FROM VPAPPLOG B
WHERE D.SESSIONID = B.SESSIONID
AND B.VARNAME = 'CONT_ENV'
),' ') AS CONTRATO_ENVIADO,
NVL(
(SELECT B.VARVALUE
FROM VPAPPLOG B
WHERE D.SESSIONID = B.SESSIONID
AND B.VARNAME = 'COD_RSLT_OPER'
AND B.ACTIVITYNAME = '000'
),' ') AS RPTA_WS_C,
NVL(
(SELECT B.VARVALUE
FROM VPAPPLOG B
WHERE D.SESSIONID = B.SESSIONID
AND B.VARNAME = 'COD_RSLT_OPER'
AND B.ACTIVITYNAME = '001'
),' ') AS RPTA_WS_L,
NVL(
(SELECT B.VARVALUE
FROM VPAPPLOG B
WHERE D.SESSIONID = B.SESSIONID
AND B.ACTIVITYNAME = 'MSG_RPTA'
),' ') AS DESCRIPTIVO
FROM VPAPPLOG D
) A
ON A.ID = C.SESSIONID
WHERE C.APPLICATIONNAME = 'IVR_AGBAR_Dllo'
AND C.CALLTIMESTAMP >= '16/05/18' AND C.CALLTIMESTAMP <= '17/05/18';