首页 > 解决方案 > 在 SQL DEVELOPER 中获取日期之间的行时出现问题

问题描述

我正在尝试从表中获取行结果。我在 SQL DEVELOPER 中创建了一个存储过程,可以在其中过滤两个日期

我的表中有下一个日期

FECHACARGA - 17/NOV/2020

在 sp im 中试图比较 2 个这样的字符串:

fechaIni IN VARCHAR2, fechaFin IN VARCHAR2,

我这样做是为了得到匹配的行。

SELECT COUNT(1)  
       INTO V_TOTAL
FROM Z_DOMI2_IB_SERVICE_STATUS
WHERE CLIENTE = clientId AND
      TIPOARCHIVO = tipoDeArchivo AND 
      ESTADO = estadoArchivo AND
     TO_CHAR(FECHACARGA, 'DD-MM-YYYY') BETWEEN TO_CHAR(TO_DATE(fechaIni, 'DD-MM-YYYY'), 'DD-MM-YYYY')
                                          AND  TO_CHAR(TO_DATE(fechaFin, 'DD-MM-YYYY'), 'DD-MM-YYYY');

这不起作用,这给了我任何空白。

谢谢!

标签: sqloracledatebetween

解决方案


不要使用TO_CHAR,只需使用以下DATE值:

SELECT COUNT(1)  
INTO   V_TOTAL
FROM   Z_DOMI2_IB_SERVICE_STATUS
WHERE  CLIENTE = clientId
AND    TIPOARCHIVO = tipoDeArchivo
AND    ESTADO = estadoArchivo
AND    FECHACARGA BETWEEN TO_DATE(fechaIni, 'DD-MM-YYYY')
                      AND TO_DATE(fechaFin, 'DD-MM-YYYY');

推荐阅读