Estoy teniendo un problema pasar algunas fechas con el formato correcto para una consulta.

Tengo una vista en la que una columna es precedida de DATETIME hasta la FECHA, así que me puede pasar por alto la parte de tiempo y de grupo, sólo por la fecha.

CREATE VIEW test_view (date, code_id, dist_id, type, reg, a_code, a_stats, rec_stats) AS
SELECT CAST(sn.notif_date as DATE), code_id, di.codigo, di.type, ac.reg, ac.a_code, cd.check, 
CASE WHEN cd.rec_val = 0 THEN 0 ELSE 1 END
FROM card AS cd, sel_notif AS sn, code_id AS ci, dist_id AS di, ar_code AS ac
WHERE ci.id = sn.id_code 
AND cd.id_sel = sn.id
AND di.id = ci.id_dist
AND sn.sel_date >= DATEADD(DD, -90, GETDATE())
AND di.id = ac.id_dist
AND sn.orig = 'VDO'

Trato de consulta de este punto de vista el uso de 2 fechas creadas con el código de abajo:

Date startDate = new DateTime(start).toDate();
Date endDate = new DateTime(end).toDate();

El inicio y el final de las variables son recibidos como «2013-01-22». Cuando trato de consulta, me aparece este error:

java.lang.IllegalArgumentException: formato Timestamp debe ser aaaa-mm-dd hh:mm:ss[.fffffffff]

Si puedo cambiar la vista de no lanzar a la FECHA, no obtengo el error, pero los resultados vienen mal.

Alguien sabe cómo puedo dar formato a esta fecha para este modelo específico?
He intentado utilizar TimeStamp, java.sql.Fecha, etc, y nada funcionó…

1 Comentario

  1. 1

    Puede utilizar ‘FECHA(sn.notif_date)’ en lugar de ‘CAST(sn.notif_date como la FECHA)’ para rellenar Date_Only valores en la vista,

    O

    en el momento de la selección de datos que puede utilizar

    ‘SELECT * FROM yourView GRUPO POR FECHA(sn.notif_date)’

    para agrupar por fecha Solo..

Dejar respuesta

Please enter your comment!
Please enter your name here