de hecho que hasta estas haciendo conversion de tipo (lo cual es malo para los indices y la base puede hacer full scan)
entre fechas esta bien lo que esta haciendo. por que (si vieras el explain plan para ver si usas indices o no mejor). BETWEEN '2010-01-01' AND '2010-01-02'; La base lo convierte a su tipo y sera 2010-01-01 00:00:00 y 2010-01-02 00:00:00 Es cosa que imprimas esa fecha como time stamp. y lo menor a 2010-01-02 es el dia completo. 2010-01-02.. si quieres los dos días tendras que hacer un día mas. 2010/10/30 Manuel Diego <[email protected]>: > Buenas, > ¿Alguien sabe como funciona el BETWEEN respecto a las columnas TIMESTAMP? > Explico mi inquietud: > Si hago: > SELECT * FROM table WHERE columna_timestamp BETWEEN '2010-01-01' AND > '2010-01-02'; > Me trae todas las filas del 2010-01-01 pero no las del 02. Ante lo anterior > se me ocurre lo siguiente: > SELECT * FROM table WHERE columna_timestamp::DATE BETWEEN '2010-01-01' AND > '2010-01-02'; > Ahi si me trae todo lo del 01 y 02. Supongo sería lo mismo que hacer lo > siguiente: > SELECT * FROM table WHERE columna_timestamp BETWEEN '2010-01-01 00:00:00' > AND '2010-01-02 23.59:59'; > Pero mi inquietud final es saber porque cuando hago BETWEEN a un campo > TIMESTAMP me trae el INCLUSIVE de la primera condicion Y NO de la segunda. > > Saludos a todos. > > ------------------------ > Manuel Diego Paillafil Gamboa > [email protected] > > > > -- Saludos, Horacio Miranda Aguilera. - Enviado a la lista de correo pgsql-es-ayuda ([email protected]) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
