Hola, hallamos la respuesta a tu interrogante, desplázate y la obtendrás un poco más abajo.
Solución:
Puede usar TRUNC en DateTime para eliminar la parte Time de DateTime. Así que tu cláusula where puede ser:
AND TRUNC(p1.PA_VALUE) >= TO_DATE('25/10/2012', 'DD/MM/YYYY')
La función TRUNCATE (datetime) devuelve la fecha con la parte de la hora del día truncada a la unidad especificada por el modelo de formato.
Cuando conviertes tu string a una fecha, debe hacer coincidir la máscara de fecha con el formato en el string. Esto incluye un elemento de tiempo, que debe eliminar con truncamiento:
select
p1.PA_VALUE as StartDate,
p2.PA_VALUE as EndDate
from WP_Work p
LEFT JOIN PARAMETER p1 on p1.WP_ID=p.WP_ID AND p1.NAME = 'StartDate'
LEFT JOIN PARAMETER p2 on p2.WP_ID=p.WP_ID AND p2.NAME = 'Date_To'
WHERE p.TYPE = 'EventManagement2'
AND trunc(TO_DATE(p1.PA_VALUE, 'DD-MM-YYYY HH24:MI')) >= TO_DATE('25/10/2012', 'DD/MM/YYYY')
AND trunc(TO_DATE(p2.PA_VALUE, 'DD-MM-YYYY HH24:MI')) <= TO_DATE('26/10/2012', 'DD/MM/YYYY')
Podemos usar la función TRUNC en Oracle DB. Aquí hay un ejemplo.
SELECT TRUNC(TO_DATE('01 Jan 2018 08:00:00','DD-MON-YYYY HH24:MI:SS')) FROM DUAL
Salida: 1/1/2018
Si crees que ha sido de utilidad nuestro artículo, te agradeceríamos que lo compartas con el resto seniors de este modo contrubuyes a extender nuestro contenido.